1. 03 Oct, 2010 4 commits
    • * 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
    • * include/mailutils/sys/smtp.h (_mu_smtp_get_streams)
      (_mu_smtp_set_streams): New protos.
      * libproto/mailer/smtp_gsasl.c (insert_gsasl_stream): Use _mu_smtp_get_streams
      and _mu_smtp_set_streams to change streams.
      * libproto/mailer/smtp_starttls.c (smtp_get_streams): Rename to
      _mu_smtp_get_streams. All callers changed.
      (smtp_set_streams): Rename to
      _mu_smtp_set_streams. All callers changed.
      Sergey Poznyakoff authored
  2. 25 Sep, 2010 10 commits
    • * guimb/scm/Makefile.am: Add sieve.scm to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT.
      Sergey Poznyakoff authored
    • * include/mailutils/stream.h (MU_IOCTL_SWAP_STREAM): Remove.
      (MU_IOCTL_GET_STREAM, MU_IOCTL_SET_STREAM): New ioctls.
      * include/mailutils/sys/stream.h (_MU_SWAP_FIRST_ONLY)
      (_MU_SWAP_IOCTL_MUST_SUCCEED): Remove.
      (_mu_stream_swap_streams): Remove.
      * libmailutils/stream.c (_mu_stream_swap_streams): Remove.
      
      * libmailutils/filter_iconv.c (_icvt_ioctl): Handle MU_IOCTL_GET_STREAM,
      MU_IOCTL_SET_STREAM instead of MU_IOCTL_SWAP_STREAM.
      * libmailutils/iostream.c (_iostream_ctl): Likewise.
      * libmailutils/xscript-stream.c (_xscript_ctl): Likewise.
      
      * imap4d/auth_gsasl.c (restore_and_return): Unref the contents of str.
      (auth_gsasl): Use MU_IOCTL_GET_STREAM/MU_IOCTL_SET_STREAM to
      change the underlying transport streams.
      * imap4d/io.c (imap4d_init_tls_server): Likewise.
      * libproto/mailer/smtp_gsasl.c (insert_gsasl_stream): Likewise.
      * pop3d/extra.c (pop3d_init_tls_server): Likewise.
      
      * libproto/mailer/smtp_starttls.c (smtp_get_streams)
      (smtp_set_streams): New functions.
      (smtp_swap_streams): Remove.
      (mu_smtp_starttls): Use smtp_get_streams and smtp_set_streams
      instead of smtp_swap_streams.
      * libproto/pop/pop3_stls.c (pop3_get_streams)
      (pop3_set_streams): New functions.
      (pop3_swap_streams): Remove.
      (mu_pop3_stls): Use pop3_get_streams and pop3_set_streams.
      
      * testsuite/smtpsend.c (main): Uncomment mu_stream_unref on
      the carrier.
      Sergey Poznyakoff authored
    • * libmailutils/prog_stream.c (REDIRECT_STDIN_P)
      (REDIRECT_STDOUT_P): Fix macros.
      * libmailutils/stream.c (mu_stream_open): If stream is open
      with MU_STREAM_APPEND, reposition to its end.
      (_stream_write_unbuffered): Do not signal EACCESS for MU_STREAM_APPEND
      streams.
      
      * mail/pipe.c (mail_pipe): Rewrite using streams instead of FILEs.
      * mail/send.c (fill_body): Likewise.
      * mail/write.c (mail_write): Likewise.
      Sergey Poznyakoff authored
    • * imap4d/imap4d.c (imap4d_mainloop): Take two file descriptor as
      arguments.  All uses updated.
      * imap4d/imap4d.h (io_setio): Change signature.
      * imap4d/io.c (io_setio): Take two file descriptor as
      arguments.  All uses updated.
      * pop3d/extra.c (pop3d_setio): Take two file descriptor as
      arguments.  All uses updated.
      * pop3d/pop3d.c (pop3d_mainloop): Likewise.
      * pop3d/pop3d.h (pop3d_setio): Change signature.
      Sergey Poznyakoff authored
    • * examples/musocio.c: Use default stream buffer size.
      * imap4d/io.c: Likewise.
      * libmailutils/dbgstream.c: Likewise.
      * libmailutils/iostream.c: Likewise.
      * libmailutils/xscript-stream.c: Likewise.
      * libmu_auth/gsasl.c: Likewise.
      * libmu_auth/tls.c: Likewise.
      * libproto/pop/mbox.c: Likewise.
      * libproto/pop/pop3_stream.c: Likewise.
      * pop3d/extra.c: Likewise.
      
      * libmailutils/file_stream.c (mu_file_stream_create)
      (mu_fd_stream_create): File streams are fully buffered by default.
      * libmailutils/stdio_stream.c (mu_stdio_stream_create): Stdio streams
      are line buffered by default.
      Sergey Poznyakoff authored
    • * libmailutils/streamcpy.c (mu_stream_copy): Use the number of bytes
      actually read.
      * libmailutils/base64.c (_base64_encoder): Return mu_filter_again
      if not all data has been consumed on mu_filter_lastbuf.
      * libmailutils/message_stream.c (scan_stream): Fix calculation of
      body_end.
      (_body_obj_size): Fix calculation of body size.
      * libproto/mailer/smtp_data.c (_mu_smtp_data_begin): Set full buffering
      on the MU_TRANSPORT_OUTPUT stream.
      Sergey Poznyakoff authored
    • * configure.ac: Use libmuaux.a instead of libmuaux.la.
      * examples/Makefile.am: Likewise.
      * examples/cpp/Makefile.am: Likewise.
      * imap4d/Makefile.am: Likewise.
      * mapi/Makefile.am: Likewise.
      * mh/Makefile.am: Likewise.
      * pop3d/Makefile.am: Likewise.
      
      Remove old files from POTFILES.in (see c42bddb0).
      
      * po/POTFILES.in: Remove comsat/oldcfg.c.
      
      Build testsuites after the programs they are to test.
      
      * frm/Makefile.am (SUBDIRS): Put . before tests.
      * messages/Makefile.am: Likewise.
      * readmsg/Makefile.am: Likewise.
      * sieve/Makefile.am: Likewise.
      
      Remove leftovers from CVS times:
      
      * .cvsignore: Remove.
      * am/.cvsignore: Remove.
      * lib/.cvsignore: Remove.
      * po/.cvsignore
      Sergey Poznyakoff authored
    • It is needed for the remaining DejaGNU tests and will go away later,
      when they are rewritten.
      Sergey Poznyakoff authored
    • * mailbox/url.c (url_parse0): Take three arguments.  Return in the
      third one a boolean indicating whether to expand %XX notations in
      the URL.  Do not decode absolute file names and pipes.
      (mu_url_parse): Use this value to decide.
      * movemail/movemail.c (main): In emacs mode: force UNIX mbox
      format as a default.  Send debugging output to stderr.
      * libmailutils/tests/url.at: Add new tests.
      Sergey Poznyakoff authored
    • * am/debug.m4 (MU_DEBUG_MODE): Rewrite. Use -Wdeclaration-after-statement
      if supported.
      * comsat/oldcfg.c: Remove.
      * comsat/Makefile.am (comsatd_SOURCES): Remove oldcfg.c.
      * comsat/comsat.c: Remove the obsolete --config and --convert-config options.
      * comsat/comsat.h (convert_config): Remove.
      Sergey Poznyakoff authored
  3. 21 Sep, 2010 2 commits
    • * Makefile.am: Shut up cmp's stderr.
      * libmailutils/body.c (_body_get_stream): Set full buffering
      mode on the body stream.
      * libmailutils/errors (MU_ERR_AUTH_NO_CRED): New error code.
      * libproto/mailer/smtp.c (smtp_open): Do not treat
      ENOSYS or MU_ERR_AUTH_NO_CRED (returned by mu_smtp_auth) as errors.
      (smtp_send_message): Do not try to submit the message if it is
      bigger than the maximum imposed by the server.
      * libproto/mailer/smtp_auth.c (mu_smtp_auth): Return MU_ERR_AUTH_NO_CRED
      if neither user name nor password are supplied.
      * mail/send.c (mail_send0): Issue diagnostics if
      sending attempt has failed.
      Sergey Poznyakoff authored
    • * include/mailutils/cpp/pop3.h (capa): Add reread parameter.
      (getline): Add new prototype.
      (send, readline): Remove.
      (response, stat): Change prototype.
      * libmu_cpp/pop3.cc: Likewise.
      * include/mailutils/cpp/stream.h
      (read, write, readline): Change prototype.
      (sequential_readline, sequential_write): Remove.
      * libmu_cpp/stream.cc: Likewise.
      Wojciech Polak authored
  4. 20 Sep, 2010 4 commits
    • * libproto/mailer/smtp.c: Rewrite using new SMTP API.
      * libproto/mailer/smtp_quit.c (mu_smtp_quit): Return immediately
      if already in closed state.
      
      * libmailutils/ticket.c (mu_ticket_get_cred): Return MU_ERR_FAILURE
      if all methods fail.
      * mail/send.c: Port 23321cf7 from patches-2.2
      (msg_to_pipe): Return status code.
      (save_dead_message, send_message): New functions, extracted from
      mail_send0.
      (mail_send0): Call save_dead_message if sending failed.
      Sergey Poznyakoff authored
    • * include/mailutils/smtp.h (mu_smtp_write): Mark as printf-like.
      (mu_smtp_mail_basic, mu_smtp_rcpt_basic): Take variable number
      of arguments.  Mark as printf-like.
      (mu_smtp_data): New prototype.
      * include/mailutils/sys/smtp.h (_MU_SMTP_SAVEBUF): New flag.
      (_mu_smtp) <savebuf>: New member.
      (_mu_smtp_data_begin, _mu_smtp_data_end): New protos.
      * libproto/mailer/smtp_send.c: New file.
      * libproto/mailer/smtp_data.c (_mu_smtp_data_begin)
      (_mu_smtp_data_end, mu_smtp_data): New functions.
      
      * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Add smtp_send.c.
      * libproto/mailer/smtp_ehlo.c (mu_smtp_ehlo): Switch to MU_SMTP_EHLO
      only if in MU_SMTP_MAIL state.
      * libproto/mailer/smtp_mail.c (mu_smtp_mail_basic): Take variable number
      of arguments.
      * libproto/mailer/smtp_param.c (mu_smtp_get_param): Add missing typecast.
      * libproto/mailer/smtp_rcpt.c (mu_smtp_rcpt_basic): Take variable number
      of arguments.
      * libproto/mailer/smtp_send.c (_smtp_data_send): Use _mu_smtp_data_begin and
      _mu_smtp_data_end.
      * testsuite/smtpsend.c: Emulate sending from a MU message.
      Sergey Poznyakoff authored
    • * include/mailutils/stream.h (mu_stream_printf): Mark as printf-like.
      * include/mailutils/sys/stream.h (_MU_STR_EVENT_CLOSE): New event.
      (_mu_stream) <event_cb_data>: New member.
      * libmailutils/stream.c (mu_stream_seek): Avoid unnecessary seeks
      in mu_buffer_none mode.  Complements 906499db.
      (mu_stream_close): Mark _MU_STR_EVENT_CLOSE event.
      Sergey Poznyakoff authored
    • * libmailutils/message_stream.c (scan_stream): Change signature.  All
      uses updated.
      Correct the calculation of body_start.
      (mu_message_stream_create): Return the stream.
      Sergey Poznyakoff authored
  5. 19 Sep, 2010 5 commits
  6. 18 Sep, 2010 1 commit
    • * configure.ac (MU_COND_GSASL): New cond.
      * include/mailutils/smtp.h (MU_SMTP_PARAM_DOMAIN)
      (MU_SMTP_PARAM_USERNAME, MU_SMTP_PARAM_PASSWORD)
      (MU_SMTP_PARAM_SERVICE, MU_SMTP_PARAM_REALM)
      (MU_SMTP_PARAM_HOST, MU_SMTP_MAX_PARAM): New constants.
      (mu_smtp_set_domain, mu_smtp_get_param): Remove.
      (mu_smtp_set_param, mu_smtp_get_param): New prototypes.
      (mu_smtp_auth, mu_smtp_add_auth_mech)
      (mu_smtp_add_auth_mech_list, mu_smtp_mech_select): New prototypes.
      * include/mailutils/sys/smtp.h (_mu_smtp) <domain>: Remove.
      (_mu_smtp) <authimpl, param, authmech>: New members.
      (_mu_smtp_gsasl_auth, _mu_smtp_mech_impl): New prototypes.
      
      * libproto/mailer/Makefile.am [MU_COND_GSASL]: Define SMTP_GSASL.
      (libmu_mailer_la_SOURCES): Add new sources.
      * libproto/mailer/smtp_domain.c: Remove.
      * libproto/mailer/smtp_param.c: New file.
      * libproto/mailer/smtp_mech.c: New file.
      * libproto/mailer/smtp_auth.c: New file.
      * libproto/mailer/smtp_gsasl.c: New file.
      * libproto/mailer/smtp_create.c (mu_smtp_destroy): Free new members of
      struct _mu_smtp.
      * libproto/mailer/smtp_ehlo.c (mu_smtp_ehlo): Use param[MU_SMTP_PARAM_DOMAIN]
      instead of domain.
      * testsuite/smtpsend.c: Handle SMTP AUTH.
      
      * libmu_auth/gsasl.c (mu_gsasl_stream_create): Bugfix.
      
      * libmailutils/xscript-stream.c (_xscript_ctl)
      <MU_IOCTL_SWAP_STREAM>: If instream!=outstream, combine them first
      into an iostream.
      Sergey Poznyakoff authored
  7. 17 Sep, 2010 5 commits
    • * include/mailutils/smtp.h (mu_smtp_mail_basic)
      (mu_smtp_rcpt_basic, mu_smtp_send_stream)
      (mu_smtp_rset, mu_smtp_quit): New prototypes.
      * include/mailutils/sys/smtp.h (MU_SMTP_RCPT)
      (MU_SMTP_MORE, MU_SMTP_DOT, MU_SMTP_QUIT, MU_SMTP_CLOS): New states.
      (_mu_smtp_xscript_level): New proto.
      * libmailutils/errors (MU_ERR_REPLY): New error code.
      * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Add new sources.
      * libproto/mailer/smtp_data.c: New file.
      * libproto/mailer/smtp_mail.c: New file.
      * libproto/mailer/smtp_quit.c: New file.
      * libproto/mailer/smtp_rcpt.c: New file.
      * libproto/mailer/smtp_rset.c: New file.
      * libproto/mailer/smtp_ehlo.c: Return MU_ERR_REPLY if the server replied
      with a code other than 2xx.
      * libproto/mailer/smtp_open.c: Likewise.
      * testsuite/smtpsend.c: Implement full sending cycle (excepting
      authorization).
      Sergey Poznyakoff authored
    • * sieve/tests/reject.at: Fix dependency on TZ.
      * sieve/tests/relational.at: Ensure that fileintos go
      to the test folder.
      * sieve/tests/mul-addr.at: Remove unneeded require.
      Sergey Poznyakoff authored
    • * include/mailutils/smtp.h: New file.
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add smtp.h.
      * include/mailutils/list.h (mu_list_clear): New proto.
      * include/mailutils/sys/smtp.h: New file.
      * include/mailutils/sys/Makefile.am (sysinclude_HEADERS): Add smtp.h.
      * libmailutils/errors (MU_ERR_BADREPLY, MU_ERR_SEQ): New error codes.
      * libmailutils/list.c (mu_list_clear): New function.
      * libproto/mailer/Makefile.am (libmu_mailer_la_SOURCES): Add new sources.
      * libproto/mailer/smtp_capa.c: New file.
      * libproto/mailer/smtp_carrier.c: New file.
      * libproto/mailer/smtp_create.c: New file.
      * libproto/mailer/smtp_disconnect.c: New file.
      * libproto/mailer/smtp_domain.c: New file.
      * libproto/mailer/smtp_ehlo.c: New file.
      * libproto/mailer/smtp_io.c: New file.
      * libproto/mailer/smtp_open.c: New file.
      * libproto/mailer/smtp_starttls.c: New file.
      * libproto/mailer/smtp_trace.c: New file.
      * testsuite/smtpsend.c: New file.
      * testsuite/Makefile.am (noinst_PROGRAMS): Add smtpsend.
      Sergey Poznyakoff authored
    • * bootstrap.conf: Build included listings in doc/texinfo.
      * configure.ac: Require gettext 0.18
      * doc/texinfo/Makefile.am: Remove the .c.inc rules.
      * doc/texinfo/maint.mk: New file.
      * lib/Makefile.am (libmuaux_la_SOURCES): Replace with libmuaux_a_SOURCES.
      Sergey Poznyakoff authored
    • Git does not keep empty subdirectories, so we need to recreate /cur and
      /tmp subdirs in maildir mailboxes retrieved from the repo.
      
      * bootstrap.conf: Recreate missing maildir parts.
      * testsuite/testsuite.inc (MUT_MBCOPY): New macro.
      * sieve/tests/ext.at: Use MUT_MBCOPY to copy mailboxes.
      * sieve/tests/redirect.at: Likewise.
      * sieve/tests/reject.at: Likewise.
      * sieve/tests/testsuite.at: Likewise.
      * testsuite/mbdel.at: Likewise.
      * frm/tests/Makefile.am: Testsuite depends on
      $(top_srcdir)/testsuite/testsuite.inc.
      * libmailutils/tests/Makefile.am: Likewise.
      * messages/tests/Makefile.am: Likewise.
      * readmsg/tests/Makefile.am: Likewise.
      * sieve/tests/Makefile.am: Likewise.
      * testsuite/Makefile.am: Likewise.
      Sergey Poznyakoff authored
  8. 16 Sep, 2010 2 commits
    • That's the first commit since the merge six days ago that passes
      distcheck (with python, cxx, imap and nntp disabled, of course).
      
      * testsuite/folder/DISTFILES: Restore. It is needed for some
      of the remaining DejaGNU tests.
      * testsuite/spool/DISTFILES: Likewise.
      * testsuite/testsuite.at: New file.
      * testsuite/atlocal.in: New file.
      * libmailutils/tests/mbdel.at: Move to testsuite/.
      * libmailutils/tests/mbdel.c: Likewise.
      * libmailutils/tests/mime.at: Likewise.
      * libmailutils/tests/mimetest.c: Likewise.
      
      * Makefile.am (SUBDIRS): Place testsuite after libproto.
      * configure.ac (AM_INIT_AUTOMAKE): Remove dist-lzma.
      (AC_CONFIG_FILES): Add testsuite/atlocal.
      * libmailutils/base64.c (_base64_decoder)
      (_base64_encoder): Fix the use of uninitialized variables.
      * libmailutils/tests/.gitignore: Remove mbdel and mimetest.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Remove mbdel and mimetest.
      (LDADD): Leave only MU_LIB_MAILUTILS.
      (TESTSUITE_AT): Remove mbdel.at and mime.at
      * libmailutils/tests/atlocal.in (PATH): Bugfix.
      * libmailutils/tests/testsuite.at: Remove inclusion of mbdel.at and mime.at.
      * po/POTFILES.in: Replace mailbox/ with libmailutils/.
      
      * testsuite/.gitignore: Rewrite.
      * testsuite/Makefile.am: Rewrite.
      * testsuite/mbdel.at: Set +w on all copied mailboxes.
      * testsuite/mimetest.c (main): Open mailbox for reading only.
      
      * sieve/Makefile.am: Add examples/ to the distribution.
      
      * libproto/mbox/mbox.c (mbox_open): Create locker only
      if the mailbox is open for modification.
      All users updated to check for mailbox->locker!=NULL before
      using it.
      Sergey Poznyakoff authored
    • * libmailutils/tests/mbdel.at: New testcase.
      * libmailutils/tests/Makefile.am (TESTSUITE_AT): Add mbdel.at.
      * libmailutils/tests/testsuite.at: Include mbdel.at.
      * libproto/mbox/mbox.c (mbox_remove): Fix return code.
      
      * testsuite/maildir/mbox1: New test mailbox.
      * testsuite/mh/mbox1: New test mailbox.
      * testsuite/etc/DISTFILES: Remove.
      * testsuite/folder/DISTFILES: Remove.
      * testsuite/lib/DISTFILES: Remove.
      * testsuite/Makefile.am: Use EXTRA_DIST to distribute
      subdirs.
      Sergey Poznyakoff authored
  9. 15 Sep, 2010 4 commits
    • * libmailutils/mailbox.c (mu_mailbox_open): Return MU_ERR_OPEN
      if the mailbox has already been opened.
      Sergey Poznyakoff authored
    • * include/mailutils/mailbox.h (mu_mailbox_remove): New function.
      * include/mailutils/stream.h: Add some comments.
      * include/mailutils/sys/amd.h (_amd_data)<remove>: New method.
      (amd_remove_dir): New function.
      * include/mailutils/sys/mailbox.h (_mu_mailbox)<_remove>: New
      method.
      * libmailutils/amd.c (amd_remove_mbox): New function.
      (amd_init_mailbox): Initialize the _remove method.
      (amd_remove_dir): New function.
      * libmailutils/errors (MU_ERR_MBX_REMOVED)
      (MU_ERR_NOT_OPEN, MU_ERR_OPEN): New error codes.
      * libmailutils/mailbox.c: Keep state of the mailbox (open vs. not
      open, removed). Check it before doing anything on it.
      (_MU_MAILBOX_OPEN, _MU_MAILBOX_REMOVED, _MU_MAILBOX_MASK): New
      defines.
      (mu_mailbox_open): Set _MU_MAILBOX_OPEN if the operation succeeds.
      (mu_mailbox_close): Clear _MU_MAILBOX_OPEN if the operation succeeds.
      Refuse to run if the mailbox was not opened.
      (mu_mailbox_remove): New function.
      (all functions): return MU_ERR_MBX_NULL if the mbox argument is
      NULL.
      Check mailbox state on entry and proceed accordingly.
      * libproto/maildir/mbox.c: Implement _remove method.
      (maildir_remove): New function.
      (_mailbox_maildir_init): Initialize amd->_remove.
      * libproto/mbox/mbox.c: Implement _remove method.
      (mbox_remove): New function.
      (_mailbox_mbox_init): Initialize amd->_remove.
      * libproto/mh/mbox.c: Implement _remove method.
      (mh_remove): New function.
      (_mailbox_mh_init): Initialize amd->_remove.
      
      * libmailutils/tests/mbdel.c: New file.
      * libmailutils/tests/.gitignore: Add mbdel.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Likewise.
      (LDADD): List all mailbox formats.
      
      * imap4d/delete.c (imap4d_delete): Use mu_mailbox_remove to
      delete the folder.  Fall back to remove() if it does not appear
      to be a mailbox.
      Sergey Poznyakoff authored
    • * examples/listop.c: Move to libmailutils/tests.
      * examples/Makefile.am (noinst_PROGRAMS): Remove listop.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Add listop.
      (TESTSUITE_AT): Add list.at.
      * libmailutils/tests/.gitignore: New file.
      * libmailutils/tests/list.at: New file.
      * libmailutils/tests/testsuite.at: Include list.at.
      
      * libmailutils/list.c (list_itrctl): Fix mu_itrctl_replace.
      Sergey Poznyakoff authored
    • * libmailutils/tests/testsuite.at (MU_TEST_GROUP)
      (MU_TEST_KEYWORDS, MU_TEST_COMMAND): New defines.
      (mu_trimstr, mu_firstline): New macros.
      (MU_GENERIC_TEST): New macro.
      * libmailutils/tests/addr.c: Accept addresses from stdin.
      * libmailutils/tests/address.at (TESTADDR): If the address
      contains single quotes, pass it to the program via stdin.
      Uncomment all such tests.
      * libmailutils/tests/argcv.at (TESTARGS): Rewrite as a wrapper
      over MU_GENERIC_TEST.
      * libmailutils/tests/decode2047.at (TESTDEC2047): Likewise.
      * libmailutils/tests/mailcap.at (MAILCAP): Likewise.
      * libmailutils/tests/url.at (TESTURL): Likewise.
      * libmailutils/tests/mailcap.c: Accept data from stdin.
      Sergey Poznyakoff authored
  10. 14 Sep, 2010 3 commits
    • * libmailutils/Makefile.am (SUBDIRS): Make sure tests are descended
      into only when the libmailutils library is already built.
      Sergey Poznyakoff authored
    • * configure.ac: Remove messages/testsuite
      * messages/Makefile.am (SUBDIRS): Replace testsuite with tests.
      * messages/tests/.gitignore: New file.
      * messages/tests/Makefile.am: New file.
      * messages/tests/atlocal.in: New file.
      * messages/tests/testsuite.at: New file.
      * messages/testsuite: Remove.
      Sergey Poznyakoff authored
    • * configure.ac: Create libmailutils/tests/atlocal and
      libmailutils/tests/Makefile. Remove libmailutils/testsuite.
      * examples/Makefile.am (noinst_PROGRAMS): Remove programs moved
      to libmailutils/tests.
      * examples/argcv.c -> libmailutils/tests/argcv.c
      * libmailutils/testsuite/Decode -> libmailutils/tests/Decode
      * libmailutils/testsuite/Encode -> libmailutils/tests/Encode
      * examples/decode2047.c: Move to libmailutils/tests
      * examples/encode2047.c: Move to libmailutils/tests
      * examples/mailcap.c: Likewise.
      * examples/url-parse.c: Likewise.
      
      * include/mailutils/Makefile.am: Minor changes.
      * libmailutils/Makefile.am (SUBDIRS): Replace testsuite with tests.
      * libmailutils/tests/Makefile.am: New file.
      * libmailutils/tests/addr.c: New file.
      * libmailutils/tests/address.at: New file.
      * libmailutils/tests/argcv.at: New file.
      * libmailutils/tests/atlocal.in: New file.
      * libmailutils/tests/base64d.at: New file.
      * libmailutils/tests/base64e.at: New file.
      * libmailutils/tests/decode2047.at: New file.
      * libmailutils/tests/encode2047.at: New file.
      * libmailutils/tests/fltst.c: New file.
      * libmailutils/tests/mailcap.at: New file.
      * libmailutils/tests/mime.at: New file.
      * libmailutils/tests/testsuite.at: New file.
      * libmailutils/tests/url.at: New file.
      
      * libmailutils/testsuite/: Delete.
      
      * frm/tests/Makefile.am: Prefix package.m4 creation commands with $(AM_V_GEN).
      * readmsg/tests/Makefile.am: Likewise.
      * sieve/tests/Makefile.am: Likewise.
      * frm/tests/testsuite.at: Minor changes.
      * readmsg/tests/testsuite.at: Include testsuite.inc.
      * sieve/tests/testsuite.at: Likewise.
      * sieve/tests/version.at: Comment out inclusion of testsuite.inc.
      * testsuite/testsuite.inc: Add m4_version_prereq.
      Sergey Poznyakoff authored