1. 19 Oct, 2010 1 commit
  2. 18 Oct, 2010 1 commit
    • * include/mailutils/header.h: Remove unnecessary externs.
      (mu_url_sget_param, mu_url_aget_param): New protos.
      * libmailutils/base/url.c (mu_url_sget_param, mu_url_aget_param): New
      functions.
      
      * libmailutils/mailbox/hdrfirst.c: New file.
      * libmailutils/mailbox/Makefile.am (libmailbox_la_SOURCES): Add hdrfirst.c.
      
      * libmailutils/mailbox/message.c (message_envelope_sender): Try to restore
      the envelope sender from X-Envelope-Sender, X-Envelope-From, X-Original-Sender,
      and From headers, in that order.
      * libmailutils/mailer/mailer.c (_set_from): Try to obtain sender from
      the message envelope.  If that fails, fall back to the From header.
      * libproto/mailer/mbox.c (parse_received, guess_message_recipient): New
      static functions.
      (remote_mbox_append_message): Get recipient address from the first
      of X-Envelope-To, Delivered-To, X-Original-To headers, in that order.
      If that fails, try to deduce it from the Received header.  If that
      fails too, fall back to the To header.
      If recipient-headers URL parameter is defined, its value (a comma-separated
      list of names) overrides this list.
      The strip-domain parameter, if present, instructs the function to strip
      domain part from the recipient address before resolving it.
      The domain parameter, if present, supplies the domain name which overrides
      the domain obtained from the URL.
      Sergey Poznyakoff authored
  3. 17 Oct, 2010 1 commit
  4. 16 Oct, 2010 1 commit
  5. 12 Oct, 2010 1 commit
  6. 11 Oct, 2010 2 commits
    • * include/mailutils/util.h (mu_readlink): New function.
      (mu_unroll_symlink): Change prototype.
      * libmailutils/base/symlink.c (mu_qualify_link): Remove.
      (mu_readlink): New function.
      (mu_unroll_symlink): Rewrite.  Don't use statically allocated
      buffers.
      * libmailutils/base/locker.c (mu_locker_create): Update calls to
      mu_unroll_symlink.
      Sergey Poznyakoff authored
    • * comsat/action.c (run_user_action): Use mu_make_file_name.
      * imap4d/lsub.c (imap4d_lsub): Likewise.
      * imap4d/subscribe.c (imap4d_subscribe): Likewise.
      * imap4d/unsubscribe.c (imap4d_unsubscribe): Likewise.
      * libmailutils/base/filename.c (mu_get_full_path): Likewise.
      * libmailutils/base/tempfile.c (mu_tempfile): Likewise.
      * libmailutils/base/url.c (_url_path_default): Likewise.
      * libmu_auth/virtual.c (getpwnam_virtual)
      (mu_auth_virt_domain_by_name): Likewise.
      * libmu_sieve/extensions/vacation.c (check_db): Likewise.
      * libmu_sieve/sieve.l (_try_include): Likewise.
      * maidag/forward.c (maidag_forward): Likewise.
      
      * mh/mh.h (mh_safe_make_file_name): New proto.
      * mh/mh_init.c (mh_audit_open,mh_get_dir)
      (mh_expand_name,mh_real_install): Use mh_safe_make_file_name.
      (mh_safe_make_file_name): New function.
      * mh/folder.c (read_seq_file, _scan): Use mh_safe_make_file_name.
      * mh/mh_global.c (mh_read_profile, _mh_init_global_sequences): Likewise.
      * mh/install-mh.c (main): Likewise.
      * mh/mhn.c (normalize_path, store_handler, main): Likewise.
      * mh/repl.c (make_draft): Likewise.
      * mh/rmf.c (rmf): Likewise.
      * mh/sortm.c (swap_message): Likewise.
      * mimeview/mimetypes.l (mimetypes_open): Likewise.
      
      * lib/mailcap.c: Add error checking.
      Sergey Poznyakoff authored
  7. 10 Oct, 2010 4 commits
    • * python/libmu_py/folder.c (api_folder_set_stream): Remove.
      * python/libmu_py/message.c (api_message_set_stream): Remove.
      * python/libmu_py/stream.c (api_stream_ref, api_stream_unref): Add.
      (api_stream_sequential_readline, api_stream_sequential_write): Remove.
      Wojciech Polak authored
    • Minor fix · 4f9d95ae
      * libmailutils/base/getcwd.c: Add missing include file.
      Sergey Poznyakoff authored
    • * include/mailutils/cstr.h (mu_strcasestr): Rename to mu_c_strcasestr.
      * libmailutils/string/cstrcasestr.c: Likewise. All uses changed.
      Sergey Poznyakoff authored
    • * libmailutils/base/mutil.c (mu_hex2ul, mu_hexstr2ul): Move to string/hexstr.c.
      (mu_get_homedir, mu_get_full_path)
      (mu_expand_path_pattern): Move to base/filename.c.
      (mu_getcwd): Move to base/getcwd.c.
      (mu_tilde_expansion): Move to base/tilde.c
      (mu_cpystr): Move to string/cpystr.c.
      (mu_get_host_name): Move to base/hostname.c.
      (mu_set_user_email,mu_set_user_email_domain)
      (mu_get_user_email_domain,mu_aget_user_email_domain)
      (mu_get_user_email,mu_normalize_path): Move to base/usremail.c.
      (mu_tempfile,mu_tempname): Move to base/tempfile.c.
      (mu_spawnvp): Move to base/spawnvp.c.
      (mu_qualify_link,mu_unroll_symlink): Move to base/symlink.c.
      (mu_rfc2822_references,mu_rfc2822_msg_id)
      (mu_rfc2822_in_reply_to): Move to base/msgid.c.
      (mu_strcasestr): Move to string/cstrcasestr.c.
      (mu_string_unfold): Move to string/unfold.c.
      (mu_true_answer_p): Move to string/trueans.c.
      (mu_scheme_autodetect_p): Move to base/schemeauto.c.
      (mu_fd_wait): Move to base/fdwait.c.
      (mu_set_default_fallback,mu_decode_filter): Move to filter/decode.c.
      (__argp_base_name): Move to lib/argp_base.c.
      
      * libmailutils/base/fdwait.c: New file.
      * libmailutils/base/filename.c: New file.
      * libmailutils/base/getcwd.c: New file.
      * libmailutils/base/hostname.c: New file.
      * libmailutils/base/msgid.c: New file.
      * libmailutils/base/schemeauto.c: New file.
      * libmailutils/base/spawnvp.c: New file.
      * libmailutils/base/symlink.c: New file.
      * libmailutils/base/tempfile.c: New file.
      * libmailutils/base/tilde.c: New file.
      * libmailutils/base/usremail.c: New file.
      * libmailutils/base/Makefile.am: Add new files.
      
      * libmailutils/filter/decode.c: New file.
      * libmailutils/filter/Makefile.am: Add new files.
      
      * libmailutils/string/cpystr.c: New file.
      * libmailutils/string/cstrcasestr.c: New file.
      * libmailutils/string/hexstr.c: New file.
      * libmailutils/string/trueans.c: New file.
      * libmailutils/string/unfold.c: New file.
      * libmailutils/string/Makefile.am: Add new files.
      
      * lib/argp_base.c: New file.
      * lib/Makefile.am: Add new files.
      
      * include/mailutils/io.h: Include stdarg.h
      * include/mailutils/mutil.h: Rename to util.h.  Reorder prototypes
      and declarations in logical groups.  All uses changed.
      
      * include/mailutils/cstr.h (mu_strcasestr): New proto, moved from
      include/mailutils/mutil.h.
      Sergey Poznyakoff authored
  8. 09 Oct, 2010 2 commits
    • Sergey Poznyakoff authored
    • * configure.ac (AC_CONFIG_FILES): Add libmailutils/ subdirs.
      * include/mailutils/Makefile.am: Update references to libmailutils.
      * po/POTFILES.in: Likewise.
      * libmailutils/.gitignore: Update.
      * libmailutils/Makefile.am: Use convenience libraries in subdirs.
      
      * libmailutils/string/Makefile.am: New file.
      * libmailutils/cstrcasecmp.c: Move to libmailutils/string.
      * libmailutils/cstrlower.c: Likewise.
      * libmailutils/cstrupper.c: Likewise.
      * libmailutils/strltrim.c: Likewise.
      * libmailutils/strskip.c: Likewise.
      * libmailutils/stripws.c: Likewise.
      * libmailutils/strrtrim.c: Likewise.
      * libmailutils/asnprintf.c: Likewise.
      * libmailutils/asprintf.c: Likewise.
      * libmailutils/muctype.c: Likewise.
      * libmailutils/vasnprintf.c: Likewise.
      * libmailutils/mkfilename.c: Likewise.
      
      * libmailutils/stream/Makefile.am: New file.
      * libmailutils/dbgstream.c: Move to libmailutils/stream.
      * libmailutils/file_stream.c: Likewise.
      * libmailutils/fltstream.c: Likewise.
      * libmailutils/iostream.c: Likewise.
      * libmailutils/mapfile_stream.c: Likewise.
      * libmailutils/memory_stream.c: Likewise.
      * libmailutils/message_stream.c: Likewise.
      * libmailutils/prog_stream.c: Likewise.
      * libmailutils/rdcache_stream.c: Likewise.
      * libmailutils/socket_stream.c: Likewise.
      * libmailutils/stdio_stream.c: Likewise.
      * libmailutils/stream.c: Likewise.
      * libmailutils/stream_printf.c: Likewise.
      * libmailutils/stream_vprintf.c: Likewise.
      * libmailutils/streamcpy.c: Likewise.
      * libmailutils/streamref.c: Likewise.
      * libmailutils/tcp.c: Likewise.
      * libmailutils/temp_file_stream.c: Likewise.
      * libmailutils/xscript-stream.c
      
      * libmailutils/cfg/Makefile.am: New file.
      * libmailutils/cfg/.gitignore: New file.
      * libmailutils/cfg_driver.c: Move to libmailutils/cfg/driver.c.
      * libmailutils/cfg_format.c: Move to libmailutils/cfg/format.c.
      * libmailutils/cfg_lexer.l: Move to libmailutils/cfg/lexer.l.
      * libmailutils/cfg_parser.y: Move to libmailutils/cfg/parser.y.
      * libmailutils/gocs.c: Move to libmailutils/cfg/gocs.c.
      
      * libmailutils/diag/Makefile.am: New file.
      * libmailutils/diag/.gitignore: New file.
      * libmailutils/debug.c: Move to libmailutils/diag.
      * libmailutils/diag.c: Likewise.
      * libmailutils/gdebug.c: Likewise.
      * libmailutils/errors: Likewise.
      * libmailutils/muerrno.cin: Likewise.
      * libmailutils/syslog.c: Likewise.
      * libmailutils/dbgstderr.c: Likewise.
      * libmailutils/dbgsyslog.c: Likewise.
      
      * libmailutils/address/Makefile.am: New file.
      * libmailutils/address.c: Move to libmailutils/address.
      * libmailutils/parse822.c: Likewise.
      
      * libmailutils/mailbox/Makefile.am: New file.
      * libmailutils/mailbox.c: Move to libmailutils/mailbox.
      * libmailutils/mbx_default.c: Likewise.
      * libmailutils/mbxitr.c: Likewise.
      * libmailutils/attribute.c: Likewise.
      * libmailutils/body.c: Likewise.
      * libmailutils/envelope.c: Likewise.
      * libmailutils/folder.c: Likewise.
      * libmailutils/hdritr.c: Likewise.
      * libmailutils/header.c: Likewise.
      * libmailutils/message.c: Likewise.
      * libmailutils/msgscan.c: Likewise.
      
      * libmailutils/mailer/Makefile.am: New file.
      * libmailutils/mailer.c: Move to libmailutils/mailer.
      * libmailutils/progmailer.c: Likewise.
      
      * libmailutils/mime/Makefile.am: New file.
      * libmailutils/attachment.c: Move to libmailutils/mime.
      * libmailutils/mime.c: Likewise.
      * libmailutils/mimehdr.c: Likewise.
      
      * libmailutils/server/Makefile.am: New file.
      * libmailutils/acl.c: Move to libmailutils/server.
      * libmailutils/server.c: Likewise.
      * libmailutils/msrv.c: Likewise.
      * libmailutils/ipsrv.c: Likewise.
      
      * libmailutils/auth/Makefile.am: New file.
      * libmailutils/auth.c: Move to libmailutils/auth.
      * libmailutils/mu_auth.c: Likewise.
      * libmailutils/system.c: Likewise.
      
      * libmailutils/base/Makefile.am: New file.
      * libmailutils/base/.gitignore: New file.
      * libmailutils/alloc.c: Move to libmailutils/base.
      * libmailutils/amd.c: Likewise.
      * libmailutils/argcv.c: Likewise.
      * libmailutils/assoc.c: Likewise.
      * libmailutils/daemon.c: Likewise.
      * libmailutils/date.c: Likewise.
      * libmailutils/fgetpwent.c: Likewise.
      * libmailutils/freeitem.c: Likewise.
      * libmailutils/getpass.c: Likewise.
      * libmailutils/iterator.c: Likewise.
      * libmailutils/kwd.c: Likewise.
      * libmailutils/list.c: Likewise.
      * libmailutils/listlist.c: Likewise.
      * libmailutils/locale.c: Likewise.
      * libmailutils/locker.c: Likewise.
      * libmailutils/mailcap.c: Likewise.
      * libmailutils/md5.c: Likewise.
      * libmailutils/monitor.c: Likewise.
      * libmailutils/munre.c: Likewise.
      * libmailutils/mutil.c: Likewise.
      * libmailutils/nls.c: Likewise.
      * libmailutils/nullrec.c: Likewise.
      * libmailutils/observer.c: Likewise.
      * libmailutils/opool.c: Likewise.
      * libmailutils/parsedate.y: Likewise.
      * libmailutils/permstr.c: Likewise.
      * libmailutils/property.c: Likewise.
      * libmailutils/registrar.c: Likewise.
      * libmailutils/refcount.c: Likewise.
      * libmailutils/rfc2047.c: Likewise.
      * libmailutils/sha1.c: Likewise.
      * libmailutils/secret.c: Likewise.
      * libmailutils/ticket.c: Likewise.
      * libmailutils/url.c: Likewise.
      * libmailutils/vartab.c: Likewise.
      * libmailutils/version.c: Likewise.
      * libmailutils/wicket.c: Likewise.
      Sergey Poznyakoff authored
  9. 08 Oct, 2010 7 commits
    • * mu/Makefile.am [MU_COND_SUPPORT_POP]: Compile pop.c conditionally.
      * mu/mu.c (mutool_nosys): New function.
      (mutool_action_tab): Compile pop support conditionally.
      Sergey Poznyakoff authored
    • * maidag/forward.c (check_forward_permissions): Keep track of the
      processed files.  Refuse to process a file twice.
      (process_forward): Rewrite using streams instead of FILE.
      (maidag_forward): Accept absolute file names (mainly for testing).
      * maidag/maidag.c (forward_checks): New keyword "owner".
      (cb2_forward_file_checks): New keyword "none".
      (main): Require at least one recipient in MDA mode.
      * maidag/maidag.h (FWD_OWNER): New mask.
      * maidag/tests/forward.at: New file.
      * maidag/tests/Makefile.am (TESTSUITE_AT): Add forward.at
      * maidag/tests/testsuite.at: Include forward.at.
      Sergey Poznyakoff authored
    • * examples/mta.c (mta_send): A line number refers to the start
      of each line, not end of it.
      * mail/testsuite/mail/send.exp: Reflect this change.
      * sieve/tests/redirect.at: Likewise.
      * sieve/tests/reject.at: Likewise.
      Sergey Poznyakoff authored
    • * maidag/deliver.c (make_tmp): Return mu_message_t.
      Use mu_stream_to_message function.
      (mda): Remove.
      (maidag_stdio_delivery): Inline mda.
      * maidag/maidag.h (mda): Remove.
      Sergey Poznyakoff authored
    • * maidag/maidag.c (mda_mode,lmtp_mode,url_option): Remove.
      (maidag_mode): New variable.
      (parse_opt): The --lmtp, --url and --mda options set the delivery-mode
      configuration statement.
      (cb_delivery_mode): New callback.
      (maidag_cfg_param) <delivery-mode>: New statement.
      (main): Redo delivery mode selection.
      * maidag/maidag.h (maidag_mode): New enum.
      (maidag_mode): New extern.
      (mda_mode,lmtp_mode,url_option): Remove.
      (maidag_delivery_fn): New typedef.
      (maidag_stdio_delivery,mda): Change signature.
      (deliver_to_url, deliver_to_user): New prototypes.
      
      * maidag/deliver.c (mda): Take delivery function as a parameter.
      (maidag_stdio_delivery): Likewise.
      (deliver_to_user): Rename to deliver_to_mailbox.
      (deliver_url): Rename to do_delivery.
      (deliver): Rename to deliver_to_url.
      (deliver_to_user): New function.
      * maidag/forward.c (process_forward): Use deliver_to_user.
      * maidag/lmtp.c (dot_deliver): Likewise.
      Sergey Poznyakoff authored
  10. 07 Oct, 2010 3 commits
    • * configure.ac: Add maidag/tests
      * maidag/Makefile.am (SUBDIRS): Add tests.
      * maidag/deliver.c (make_tmp): Write a
      message delimiter.
      (is_remote_url, is_mailer_url): Remove.
      (deliver_url): Allow for URLs without user name.
      * maidag/lmtp.c (lmtp_set_privs): Empty group list
      means do not switch to any groups.
      * maidag/maidag.c (mda_mode): New variable.
      (options): New option --mda.
      (cb_group, cb2_group): Create the list even if it is empty.
      (main): Handle --mda.
      
      * maidag/tests/.gitignore: New file.
      * maidag/tests/Makefile.am: New file.
      * maidag/tests/atlocal.in: New file.
      * maidag/tests/input.msg: New file.
      * maidag/tests/lmtp.at: New file.
      * maidag/tests/mda.at: New file.
      * maidag/tests/testsuite.at: New file.
      * maidag/tests/url-mbox.at: New file.
      * maidag/tests/input.msg: New file.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * libmailutils/fromflt.c: New file.
      * libmailutils/Makefile.am (libmailutils_la_SOURCES): Add fromflt.c
      * libmailutils/tests/testsuite.at: Include fromflt.at.
      * include/mailutils/filter.h (mu_from_filter): New filter type.
      * libmailutils/filter.c (mu_filter_get_list): Register mu_from_filter.
      
      * libmailutils/fromflt.at: New file.
      * libmailutils/tests/Makefile.am (TESTSUITE_AT): Add fromflt.at.
      * libmailutils/tests/base64d.at: Mention `filter' in the keywords.
      * libmailutils/tests/base64e.at: Likewise.
      * libmailutils/tests/fltst.c (main): Fix argc check.
      
      * libproto/mbox/mbox.c (append_message_to_stream): Use "FROM" filter.
      Sergey Poznyakoff authored
  11. 06 Oct, 2010 2 commits
    • * libmailutils/file_stream.c (mu_fd_stream_create): Mark stream as
      open, do not call mu_stream_open explicitly.
      * libmailutils/message_stream.c (mu_stream_to_message): Bugfixes,
      wrong owner given to mu_envelope_set_ calls.
      * libmailutils/stream.c (_MU_STR_FLUSH_ALL)
      (_MU_STR_FLUSH_KEEP): New macros for _stream_flush_buffer.
      (_stream_flush_buffer): Change the meaning of the last argument.
      All callers updated.
      (mu_stream_seek): Fix operation with MU_SEEK_END.
      Call _mu_stream_cleareof on success.
      (mu_stream_read): Call _stream_flush_buffer in buffered mode.
      (mu_stream_getdelim, mu_stream_readdelim): Call _stream_flush_buffer.
      * libmailutils/streamcpy.c (mu_stream_copy): Reset size if mu_stream_seek
      fails.
      * libmailutils/temp_file_stream.c (mu_temp_file_stream_create): Set
      full buffering mode by default.
      
      * maidag/mailtmp.c: Remove.
      * maidag/Makefile.am (maidag_SOURCES): Remove mailtmp.c
      * po/POTFILES.in: Likewise.
      * maidag/deliver.c (make_tmp): Rewrite.  Return mu_mailbox_t.
      All callers changed.
      * maidag/lmtp.c (lmtp_transcript): Remove static.
      (lmpt_transcript): New function.
      (lmtp_reply): Use mu_stream_t instead of FILE.
      (xlatnl): Remove.  Superseded by mu_rtrim_cset and family.
      (mtmp, mbox): Remove globals.
      (mesg): New global.
      (cfun_unknown, cfun_mail_from, cfun_rcpt_to)
      (dot_temp_fail, dot_deliver, cfun_rset)
      (cfun_lhlo, cfun_quit, cfun_help): Use mu_stream_t instead of FILE.
      (cfun_data): Rewrite.
      (cfun_dot): Remove.
      (to_fgets): Rewrite using mu_stream_t.
      (lmtp_loop): Change signature. Rewrite using mu_stream_t.
      (lmtp_connection, maidag_lmtp_server): Update accordingly.
      * maidag/maidag.c (maidag_transcript): New global.
      (options, parse_opt): New option --transcript.
      * maidag/maidag.h (maidag_transcript): New extern.
      (mail_tmp_begin, mail_tmp_add_line, mail_tmp_finish)
      (mail_tmp_destroy): Remove.
      Sergey Poznyakoff authored
    • * mu/pop.c (com_apop, com_pass): Require password in non-interactive
      mode.
      Sergey Poznyakoff authored
  12. 05 Oct, 2010 8 commits
    • * mu/shell.c (input_line_script): Use mu_getline.
      * libmu_argp/compat.c: Remove.
      * libmu_argp/Makefile.am: Remove compat.c
      * po/POTFILES.in: Likewise.
      Sergey Poznyakoff authored
    • * mu/mu.h (mutool_command) <doc>: Rename to docstring.
      <argdoc>: New member.
      * mu/pop.c (com_apop): 2nd arg (password) is optional.  If not
      supplied, ask for it using the mu_getpass function.
      (pop_comtab): Add argdocs.  Use N_ wrappers around translatable
      strings.
      * mu/shell.c (default_comtab: Add argdocs.  Use N_ wrappers around
      translatable strings.
      (print_comtab): Rewrite.
      (shell_history): Use pager.
      Sergey Poznyakoff authored
    • * libproto/pop/pop3_carrier.c (mu_pop3_set_carrier): Switch to
      MU_POP3_CONNECT state.
      * libproto/pop/pop3_disconnect.c (mu_pop3_disconnect): Check if
      the stream is actually open before trying to close it.
      Sergey Poznyakoff authored
    • * libmailutils/strskip.c (mu_str_skip_cset): New function.
      Sergey Poznyakoff authored
    • * configure.ac: Test for tcgetattr and tcsetattr.
      * gnulib.modules (getpass-gnu): Remove.
      * include/mailutils/mutil.h (mu_getpass): New proto.
      * include/mailutils/stream.h (MU_IOCTL_GET_ECHO)
      (MU_IOCTL_SET_ECHO): New ioctls.
      * include/mailutils/sys/file_stream.h (_MU_FILE_STREAM_ECHO_OFF): New flag.
      (_mu_file_stream) <echo_state>: New member.
      * libmailutils/getpass.c: New file.
      * libmailutils/Makefile.am (libmailutils_la_SOURCES): Add getpass.c.
      * libmailutils/file_stream.c (fd_done): Free echo_state.
      (fd_ioctl): Implement MU_IOCTL_GET_ECHO and MU_IOCTL_SET_ECHO.
      * mu/mu.h (mustrin): New extern.
      * mu/pop.c (com_pass): Use mu_getpass.
      * mu/shell.c (mustrin): New variable.
      (readline): Use mu_stream_getline instead of getline.
      (mutool_shell): Create mustrin.
      * pop3d/popauth.c (options): Fix typo.
      (fill_pass): Use mu_getpass.
      Sergey Poznyakoff authored
    • * mu/mu.h (mutool_shell_interactive): New extern.
      (mutool_open_pager): New proto.
      * mu/pop.c (com_list, com_top, com_retr): Use pager.
      * mu/shell.c (mutool_shell_interactive, mustrout): New
      variables.
      (print_comtab, print_help): Print to stream.
      (shell_help): Use pager if necessary.
      (mutool_open_pager): New function.
      (mutool_shell): Create mutool_stream_out and destroy it before
      returning.
      (all functions): Use mu_stream_printf instead of printf.
      Sergey Poznyakoff authored
    • * comsat/comsat.c (hostname): Change type.
      (comsat_init): Use mu_get_host_name.
      * comsat/comsat.h (hostname): Change declaration.
      * libmailutils/locker.c (lock_dotlock): Use mu_get_host_name.
      * libmailutils/mutil.c (mu_get_host_name): Rewrite.
      * pop3d/pop3d.c (pop3d_mainloop): Remove unnecessary call to
      gethostbyname.
      * pop3d/pop3d.h (MAXHOSTNAMELEN): Remove definition.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
  13. 04 Oct, 2010 1 commit
  14. 03 Oct, 2010 6 commits
    • * libmailutils/cfg_parser.y (split_cfg_path): New static.
      (mu_cfg_find_node): Use the same parsing algorithm as
      mu_cfg_create_subtree.  This complements 68b7dc9d.
      (mu_cfg_create_subtree): Use split_cfg_path.  Handle
      escaped '=' as a regular character.
      * mu/mu.c (args_doc): Remove spurious word.
      (main): Disable --version option in action handlers.
      * mu/query.c (query_args_doc): Use `path' instead of `keyword'.
      Sergey Poznyakoff authored
    • Sergey Poznyakoff authored
    • * mu/filter.c (filter_options): Add missing arguments.
      * mu/flt2047.c (flt2047_options): Likewise.
      Sergey Poznyakoff authored
    • * examples/http.c (main): Fix open/wait loop.
      * libmailutils/stream.c (mu_stream_wait): May be used
      on not-open streams.
      * examples/.gitignore: Add more files.
      Sergey Poznyakoff authored
    • The `mu' program is a multi-purpose tool for doing various mail-
      and mailutils-related operations.  It includes a pop3 shell,
      a coder/decoder for all filter formats supported by Mailutils,
      a utility to extract arbitrary values from the MU configuration
      files, a configuration information utility and many more, in the
      short run.  It supercedes examples/pop3client and (partially)
      mailutils-config, both of which will be removed in the future.
      
      * Makefile.am (SUBDIRS): Add mu.
      * configure.ac: Likewise.
      * po/POTFILES.in: Add new files.
      * mu/.gitignore: New file.
      * mu/Makefile.am: New file.
      * mu/filter.c: New file.
      * mu/flt2047.c: New file.
      * mu/info.c: New file.
      * mu/mu.c: New file.
      * mu/mu.h: New file.
      * mu/pop.c: New file.
      * mu/query.c: New file.
      * mu/shell.c: New file.
      Sergey Poznyakoff authored
    • One of stream flags bits indicates whether the stream is
      open or not.  The mu_stream_open function refuses to act if it
      already is.  The rest of functions (including mu_stream_close)
      refuses to act if the stream was not open.  A special function
      (mu_stream_is_open) is provided to check if the stream is in
      open state.
      
      Any stream creation function returns an already open stream.  The
      function mu_stream_open should be called only if the stream was
      previously closed by a call to mu_stream_close.
      
      * include/mailutils/stream.h (mu_stream_is_open): New proto.
      * include/mailutils/sys/stream.h (_MU_STR_OPEN): New flag.
      * libmailutils/stream.c (_mu_stream_create): Permit setting the
      _MU_STR_OPEN flag.
      (_stream_init): New static.
      (mu_stream_open): Return MU_ERR_OPEN if the stream is already open.
      (mu_stream_is_open): New function.
      (mu_stream_seek, mu_stream_read, mu_stream_readdelim)
      (mu_stream_getdelim, mu_stream_write, mu_stream_flush)
      (mu_stream_close, mu_stream_size, mu_stream_wait)
      (mu_stream_truncate): Check if the stream is open. Return MU_ERR_NOT_OPEN
      otherwise.
      
      * libmailutils/errors (MU_ERR_OPEN): Reword the diagnostics.
      
      * libmailutils/dbgstream.c (mu_dbgstream_create): Open the stream.
      * libmailutils/file_stream.c (mu_file_stream_create)
      (mu_fd_stream_create): Open the stream.
      * libmailutils/filter_iconv.c (mu_filter_iconv_create): Open the stream.
      * libmailutils/mapfile_stream.c (mu_mapfile_stream_create): Open the stream.
      * libmailutils/fltstream.c (mu_filter_stream_create): Mark the stream
      as open.
      * libmailutils/iostream.c (mu_iostream_create): Likewise.
      * libmailutils/memory_stream.c: Likewise.
      * libmailutils/message.c (_message_stream_create): Likewise.
      * libmailutils/message_stream.c (mu_message_stream_create): Likewise.
      * libmailutils/prog_stream.c (mu_prog_stream_create): Likewise.
      * libmailutils/socket_stream.c (mu_socket_stream_create): Likewise.
      * libmailutils/temp_file_stream.c (mu_temp_file_stream_create): Likewise.
      
      * libmailutils/amd.c (_amd_attach_message): Mark stream as open.
      * libmailutils/body.c (_body_get_stream): Likewise.
      * libmailutils/memory_stream.c: Likewise.
      * libmailutils/rdcache_stream.c (mu_rdcache_stream_create: Likewise.
      * libmailutils/stdio_stream.c (mu_stdio_stream_create): Likewise.
      * libmailutils/streamref.c (mu_streamref_create_abridged): Likewise.
      * libmailutils/tcp.c (mu_tcp_stream_create_with_source_ip): Likewise.
      * libmailutils/xscript-stream.c (mu_xscript_stream_create): Likewise.
      * libmu_auth/tls.c (_mu_tls_io_stream_create): Likewise.
      (_mu_tls_stream_create): Likewise.
      * libproto/pop/pop3_stream.c (mu_pop3_stream_create): Likewise.
      
      * examples/base64.c: Remove unnecessary mu_stream_open.
      * examples/http.c: Likewise.
      * examples/iconv.c: Likewise.
      * examples/msg-send.c: Likewise.
      * examples/murun.c: Likewise.
      * examples/musocio.c: Likewise.
      * examples/pop3client.c: Likewise.
      * imap4d/append.c: Likewise.
      * imap4d/io.c: Likewise.
      * imap4d/preauth.c: Likewise.
      * lib/mailcap.c: Likewise.
      * libmailutils/attachment.c: Likewise.
      * libmailutils/cfg_driver.c: Likewise.
      * libmailutils/header.c: Likewise.
      * libmailutils/mailcap.c: Likewise.
      * libmailutils/mimehdr.c: Likewise.
      * libmailutils/mutil.c: Likewise.
      * libmailutils/tests/fltst.c: Likewise.
      * libmailutils/tests/mailcap.c: Likewise.
      * libmailutils/vartab.c: Likewise.
      * libmailutils/wicket.c: Likewise.
      * libmu_argp/muinit.c: Likewise.
      * libmu_auth/ldap.c: Likewise.
      * libmu_sieve/extensions/pipe.c: Likewise.
      * libmu_sieve/extensions/spamd.c: Likewise.
      * libmu_sieve/extensions/vacation.c: Likewise.
      * libproto/imap/folder.c: Likewise.
      * libproto/mailer/smtp.c: Likewise.
      * libproto/mailer/smtp_starttls.c: Likewise.
      * libproto/mbox/mbox.c: Likewise.
      * libproto/nntp/nntp_connect.c: Likewise.
      * libproto/pop/mbox.c: Likewise.
      * libproto/pop/pop3_connect.c: Likewise.
      * libproto/pop/pop3_stls.c: Likewise.
      * maidag/mailtmp.c: Likewise.
      * mail/decode.c: Likewise.
      * mail/pipe.c: Likewise.
      * mail/send.c: Likewise.
      * mail/send.c: Likewise.
      * mail/write.c: Likewise.
      * mh/burst.c: Likewise.
      * mh/comp.c: Likewise.
      * mh/compcommon.c: Likewise.
      * mh/forw.c: Likewise.
      * mh/mh_init.c: Likewise.
      * mh/mh_whatnow.c: Likewise.
      * mh/mhl.c: Likewise.
      * mh/mhn.c: Likewise.
      * mh/repl.c: Likewise.
      * mimeview/mimeview.c: Likewise.
      * pop3d/extra.c: Likewise.
      * sieve/sieve.c: Likewise.
      * testsuite/smtpsend.c: Likewise.
      Sergey Poznyakoff authored