1. 01 Jan, 2017 1 commit
  2. 27 Dec, 2016 1 commit
    • * configure.ac (VI_REVISION): Increase.
      * include/mailutils/assoc.h (mu_assoc_create): Change prototype.
      (mu_assoc_ref,mu_assoc_ref_install)
      (mu_assoc_remove_ref): Remove.
      (mu_assoc_get): New proto.
      (mu_assoc_lookup,mu_assoc_lookup_ref): New proto.
      (mu_assoc_install_ref): New proto.
      (mu_assoc_set_free): Remove.
      (mu_assoc_set_destroy_item): Set proto.
      * include/mailutils/types.hin (mu_deallocator_t): New typedef.
      * include/mailutils/list.h (mu_list_destroy_item_t): Change definition.
      * libmailutils/base/assoc.c: Rewrite.  Link all entries in
      a doubly-linked list to preserve natural ordering during iterations.
      * libmailutils/base/mutil.c (mutil_parse_field_map): Update calls
      to assoc API.
      * libmailutils/cfg/driver.c (alloc_section_tab)
      (mu_create_canned_section,mu_create_canned_param)
      (mu_get_canned_container,parse_mapping)
      (mu_cfg_field_map): Likewise.
      * libmailutils/mime/mimehdr.c (_mu_mime_param_free): Free the pointer
      itself.
      (flush_param,mu_mime_param_assoc_create)
      (mu_mime_param_assoc_add)
      (_mime_header_parse)
      (mu_mimehdr_aget_decoded_param): Update calls to assoc API.
      (mu_mime_param_free): New function.
      * libmailutils/property/assocprop.c: Likewise.
      * libmu_sieve/environment.c: Likewise.
      * libmu_sieve/variables.c: Likewise.
      * libproto/imap/id.c: Likewise.
      * mail/alias.c: Likewise.
      * mail/testsuite/mail/alias.exp: Update ordering of expected output.
      * mu/imap.c (com_id): Update.
      
      * include/mailutils/mime.h (mu_rfc2047_decode_param): Change prototype.
      * libmailutils/base/rfc2047.c (mu_rfc2047_decode_param): Allocate
      returned value, instead of filling an already allocated structure.
      * libproto/imap/fetch.c: Reflect changes.
      Sergey Poznyakoff authored
  3. 22 Jan, 2016 1 commit
  4. 11 Jul, 2015 1 commit
    • * include/mailutils/stream.h (MU_IOCTL_TLSSTREAM): New ioctl code.
      (MU_IOCTL_TLS_GET_CIPHER_INFO): New ioctl opcode.
      * libmailutils/property/assocprop.c (_assoc_prop_fill)
      (_assoc_prop_save): allow for NULL stream pointer.
      * libmu_auth/tls.c (_tls_io_ioctl,_tls_ioctl): Handle
      MU_IOCTL_TLSSTREAM/MU_IOCTL_TLS_GET_CIPHER_INFO ioctl.
      
      * imap4d/io.c (log_cipher): New function.
      (io_setio, imap4d_init_tls_server): Call log_cipher after successfully
      establishing the TLS connection.
      * imap4d/starttls.c (tls_encryption_on): Remove diagnostic output.
      * pop3d/extra.c (log_cipher): New function.
      (pop3d_setio,pop3d_init_tls_server): Call log_cipher after successfully
      establishing the TLS connection.
      Sergey Poznyakoff authored
  5. 02 Mar, 2015 1 commit
  6. 26 Feb, 2014 1 commit
  7. 05 Feb, 2014 1 commit
  8. 05 Jan, 2012 1 commit
  9. 20 Oct, 2011 1 commit
    • * include/mailutils/message.h (MU_MSG_ATTRIBUTE_MODIFIED)
      (MU_MSG_HEADER_MODIFIED,MU_MSG_BODY_MODIFIED): New flags.
      * libmailutils/mailbox/message.c (mu_message_is_modified): Return
      a bitmask from the above values.
      * libmailutils/property/create.c (mu_property_create_init): Return
      error code.
      
      * include/mailutils/sys/amd.h (_amd_data) <chattr_msg>
      <capabilities, prop>: New members.
      <uidvalidity>: Remove.
      * libmailutils/base/amd.c: Use MH-style proplist to keep
      the mailbox properties: uidvalidity, last uid and to
      cache its size.
      Store message attributes in the message header only if the
      mailbox implementation is unable to keep them elsewhere.
      Use chattr_msg method (if provided) to flush changes in
      message attributes.
      
      * libproto/maildir/folder.c (_maildir_list_p): Ignore .mh* and .mu* files.
      * libproto/mh/folder.c (_mh_list_p): Likewise.
      * libproto/maildir/mbox.c: Implement all Maildir flags (except P).
      Implement the chattr_msg method.
      * libproto/mh/mbox.c: Remove special handling for uidvalidity.
      * mh/tests/folder.at: Ignore .mu-prop in directory listings.
      Sergey Poznyakoff authored
  10. 02 Jan, 2011 1 commit
  11. 22 Nov, 2010 1 commit
    • * mh/Makefile.am (bin_PROGRAMS): Add mhseq.
      * mh/comp.c (main): Rewrite to fix compatibility issues.
      * mh/mh.h (MH_MSGSET_UID): New define.
      (mh_msgset_t) <flags,size>: New members.
      * mh/mh_init.c (mh_draft_message): Bugfix: convert msgset to UIDs.
      * mh/mh_msgset.c: Rewrite from scratch.
      
      * mh/tests/comp.at: New file.
      * mh/tests/mhseq.at: New file.
      * mh/tests/Makefile.am (TESTSUITE_AT): Add comp.at, mhseq.at.
      * mh/tests/testsuite.at: Include comp.at and mhseq.at.
      
      * libmailutils/property/mhprop.c (_mh_prop_read_stream): Minor fix.
      Do remove empty lines.
      * mh/mh_whatnow.c (_whatnow): Detect EOF.
      (call_send): Quit after successful send.
      Sergey Poznyakoff authored
  12. 20 Nov, 2010 2 commits
    • * libmailutils/filter/header.c: New file.
      * libmailutils/filter/Makefile.am (libfilter_la_SOURCES): Add header.c.
      * libmailutils/filter/filter.c (mu_filter_get_list): Register
      mu_header_filter.
      * libmailutils/filter/inline-comment.c: (ilcmt_ws)
      (ilcmt_rollback): New states.
      (ILCMT_REMOVE_EMPTY_LINES,ILCMT_SQUEEZE_WS): New flags.
      (ilcmt_data)<buf,size,level,replay>: New members.
      (ilcmt_action): New enum
      (new_ilcmt_state): Return enum ilcmt_action.
      (_ilcmt_decoder): Optionally remove
      empty lines and squeeze leading white space.
      * libmailutils/property/mhprop.c (_mh_prop_read_stream): Remove
      empty lines from the input.
      
      * libmailutils/tests/Makefile.am (TESTSUITE_AT): Add hdrflt.at
      and inline-comment.at.
      * libmailutils/tests/testsuite.at: Include hdrflt.at and inline-comment.at.
      * libmailutils/tests/fltst.c: Pass optional arguments to the
      filter creation procedure.
      
      * mh/mh_whom.c (read_header): New function.
      (mh_whom): Rewrite using headers.
      
      * include/mailutils/filter.h: Fix a typo.
      * libmailutils/stream/fltstream.c: Likewise.
      * libmu_auth/gsasl.c: Likewise.
      Sergey Poznyakoff authored
    • * libmailutils/mailbox/header.c (mu_header_clear): New function.
      (mu_header_sget_value_n): Tolerate pval == NULL.
      * libmailutils/property/assocprop.c (_assoc_prop_setval): Bugfix.
      (_assoc_prop_clear): New method.
      (mu_assoc_property_init): Reference the stream.
      (mu_assoc_property_init): Initialize _prop_clear.
      * libmailutils/property/create.c (_mu_property_init): Now extern.
      * libmailutils/property/propset.c (mu_property_set_value): Null value
      means unset.
      * libmailutils/tests/prop.at: Test property clear and invalidate.
      * libmailutils/tests/prop.c: New commands: 0 for property clear and ! for
      invalidate.
      
      * libmailutils/property/mhprop.c: New file.
      * libmailutils/property/propclr.c: New file.
      * libmailutils/property/propinv.c: New file.
      * libmailutils/property/Makefile.am (noinst_LTLIBRARIES): Add new files.
      
      * include/mailutils/header.h (mu_header_clear): New proto.
      * include/mailutils/property.h (mu_property_clear)
      (mu_property_invalidate): New protos.
      (mu_mh_prop): New struct.
      (mu_mh_property_init): New proto.
      * include/mailutils/sys/property.h (_mu_property) <_prop_clear>: New member.
      (_mu_property_init): New proto.
      * include/mailutils/mh.h: New file.
      * include/mailutils/Makefile.am (pkginclude_HEADERS): Add mh.h
      
      * libproto/mh/profile.c: New file.
      * libproto/mh/Makefile.am (libmu_mh_la_SOURCES): Add new files.
      
      * libproto/mh/mbox.c (mh_get_property): New static function.
      (_mailbox_mh_init): Set _get_property.
      
      * mh/mh_global.c (current_message, sequences): Remove.  Use mbox
      properties instead.
      (mh_global_sequences_get)
      (mh_global_sequences_set)
      (mh_global_sequences_iterate)
      (mh_global_sequences_drop): Take mbox as first argument. All callers
      updated.
      * mh/mh_init.c (mh_init2): Remove call to mh_global_sequences_get.
      * mh/mh_msgset.c (msgset_cur): Use mh_mailbox_get_cur.
      * mh/mh_sequence.c (mh_seq_read, write_sequence)
      (delete_sequence, mh_seq_add, mh_seq_delete): Take mbox as first argument.
      All callers updated.
      
      * mh/mh.h: Include mailutils/property.h.
      (current_message): Remove.
      (mh_mailbox_cur_default): New extern.
      (mh_global_sequences_get)
      (mh_global_sequences_set)
      (mh_global_sequences_iterate)
      (mh_global_sequences_drop): Take mbox as first argument. All callers
      updated.
      
      * mh/mh_format.c (builtin_cur): Rewrite using mh_message_number.
      
      * mh/mboxprop.c: New file.
      * mh/Makefile.am (libmh_a_SOURCES): Add new file.
      
      * mh/folder.c: Update calls to sequence management functions.
      * mh/mark.c: Likewise.
      * mh/pick.c: Likewise.
      
      * mh/inc.c (main): Set mh_mailbox_cur_default to 1.
      Invalidate properties if changecur is not set.
      * mh/prompter.c (main): Destroy the iterator.
      * mh/rmf.c: Rewrite using mu_mailbox_remove.
      * mh/scan.c: Always close the mailbox.
      
      * mh/tests/folder.at: Update.
      * mh/tests/inc.at: Update.  Inc now sets cur to 1 if it was not
      originally set.  This is what others MHs do.
      Sergey Poznyakoff authored
  13. 18 Nov, 2010 1 commit
    • * configure.ac: Add libmailutils/property/Makefile to config files.
      
      * include/mailutils/property.h (mu_property_create)
      (mu_property_destroy): Change signature.
      (mu_property_get_owner): Remove.
      (mu_property_create_init)
      (mu_property_set_init, mu_property_set_init_data)
      (mu_property_ref, mu_property_unref)
      (mu_property_save): New protos.
      (mu_property_get_iterator)
      (mu_assoc_property_init): New protos.
      * include/mailutils/sys/property.h (property_item): Remove definition.
      (MU_PROP_INIT, MU_PROP_FILL, MU_PROP_MODIFIED): New flags.
      (_mu_property): Rewrite from scratch.
      (_mu_property_check): New proto.
      
      * libmailutils/property/Makefile.am: New file.
      * libmailutils/property/assocprop.c: New file.
      * libmailutils/property/create.c: New file.
      * libmailutils/property/propget.c: New file.
      * libmailutils/property/propitr.c: New file.
      * libmailutils/property/propset.c: New file.
      
      * libmailutils/Makefile.am (SUBDIRS): Add property.
      (libmailutils_la_LIBADD): Add property/libproperty.la.
      
      * libmailutils/base/property.c: Remove.
      * libmailutils/base/Makefile.am (libbase_la_SOURCES): Remove property.c
      
      * libmailutils/base/assoc.c (first): Avoid coredumping on empty
      hash table.
      
      * include/mailutils/folder.h (mu_folder_set_property)
      (mu_folder_get_property): New protos.
      * include/mailutils/sys/folder.h (_mu_folder) <property>
      <_get_property>: New members.
      * libmailutils/mailbox/folder.c (mu_folder_destroy): Destroy the
      property.
      (mu_folder_get_property)
      (mu_folder_set_property): New functions.
      
      * include/mailutils/mailbox.h (mu_mailbox_set_property): New proto.
      * libmailutils/mailbox/mailbox.c (mu_mailbox_set_property): New function.
      (mu_mailbox_get_property): Use _get_property method.
      
      * include/mailutils/mailer.h (mu_mailer_set_property): New proto.
      * include/mailutils/sys/mailer.h (_mu_mailer) <_get_property>: New member.
      * libmailutils/mailer/mailer.c (mu_mailer_set_property): New function.
      (mu_mailer_get_property): Use _get_property method.
      
      * include/mailutils/iterator.h (mu_iterator_set_dataptr): New proto.
      * include/mailutils/sys/iterator.h (_mu_iterator) <dataptr>: New method.
      * libmailutils/base/iterator.c (mu_iterator_set_dataptr): New function.
      (mu_iterator_current): Rewrite as a wrapper around mu_iterator_current_kv.
      (mu_iterator_current_kv): Use dataptr method (if defined) to extract the
      data pointer.
      
      * libmailutils/tests/prop.c: New file.
      * libmailutils/tests/prop.at: New file.
      * libmailutils/tests/Makefile.am (noinst_PROGRAMS): Add prop.
      (TESTSUITE_AT): Add prop.at.
      * libmailutils/tests/testsuite.at: Include prop.at.
      Sergey Poznyakoff authored