1. 19 Dec, 2016 1 commit
    • * configure.ac: Fallback to guile installation prefix, if
      'guile-config info bindir' returns empty string.
      * doc/texinfo/programs.texi: Minor fix.
      * mail/mailline.c (ml_readline_init): Don't use obsolete
      CPPFunction type.
      * mu/shell.c (mutool_initialize_readline): Likewise.
      * scheme/sieve2scm.scmi: Fix typo.
      * sieve/sieve.c (main): Fix initialization of Sieve environment
      variables "location" and "post".
      Sergey Poznyakoff authored
  2. 17 Dec, 2016 3 commits
    • Sergey Poznyakoff authored
    • * examples/rename.c: Remove.
      * examples/fcopy.c: New file.
      * examples/fremove.c: New file.
      * examples/frename.c: New file.
      * examples/Makefile.am: Update.
      
      * include/mailutils/util.h (mu_rename_file): Add flags.
      (mu_remove_file): New function.
      (MU_COPY_OVERWRITE): New flag.
      * libmailutils/base/renamefile.c: New file.
      * libmailutils/base/Makefile.am: Add newe file.
      * libmailutils/base/copyfile.c: Fix error handling.
      * libmailutils/base/renamefile.c (mu_rename_file): Refuse to proceed if
      the destination file exists and MU_COPY_OVERWRITE flag is not set
      * libmailutils/diag/errors (MU_ERR_REMOVE_SOURCE)
      (MU_ERR_RESTORE_META): New errors
      
      * imap4d/rename.c (imap4d_rename): Use mu_rename_file
      * mh/forw.c: Likewise.
      * mh/mh_whatnow.c: Likewise.
      * mh/mhn.c: Likewise.
      * mh/send.c: Likewise.
      
      * include/mailutils/cstr.h (mu_str_count): New proto.
      * include/mailutils/util.h (mu_file_name_is_safe): New proto.
      * libmailutils/string/safefilename.c: New file.
      * libmailutils/string/strcount.c: New file.
      * libmailutils/string/Makefile.am: Update.
      Sergey Poznyakoff authored
    • * libmailutils/base/copyfile.c: New file.
      * libmailutils/base/renamefile.c: New file.
      
      * include/mailutils/util.h (mu_copy_file)
      (mu_rename_file): New protos.
      
      * libmailutils/base/Makefile.am: Add new files.
      * examples/rename.c: New file.
      * examples/Makefile.am: Add new files.
      
      * NEWS: Update.
      Sergey Poznyakoff authored
  3. 16 Dec, 2016 1 commit
  4. 15 Dec, 2016 2 commits
  5. 14 Dec, 2016 4 commits
  6. 13 Dec, 2016 10 commits
  7. 12 Dec, 2016 5 commits
  8. 11 Dec, 2016 1 commit
    • * include/mailutils/sieve.h (mu_sieve_require_environment): New proto.
      * libmu_sieve/Makefile.am: Add environment.c
      * libmu_sieve/environment.c: New file.
      * libmu_sieve/require.c: Handle "environment" keyword.
      * libmu_sieve/sieve-priv.h (mu_sieve_machine) <exenv>: New member.
      * libmu_sieve/sieve.l: Bugfixes
      * libmu_sieve/variables.c: Add missing static qualifiers
      * sieve/sieve.c: New option --environment
      Sergey Poznyakoff authored
  9. 10 Dec, 2016 2 commits
  10. 09 Dec, 2016 2 commits
  11. 08 Dec, 2016 2 commits
    • Don't set mu_log_tag, leave that to the caller.
      
      * libmailutils/cli/cli.c (mu_cli_ext): Don't set mu_log_tag.
      * libmailutils/stdstream/strerr.c: Use MU_LOG_TAG macro from
      syslog.h
      * sieve/sieve.c: Redo --no-program-name support
      Sergey Poznyakoff authored
    • * libmu_sieve/util.c (mu_sieve_vlist_compare): Rewrite.
      * include/mailutils/sieve.h (mu_sieve_retrieve_t): Change signature.
      All uses changed.
      (mu_sieve_relational_count): Remove.
      (mu_sieve_vlist_compare): Change signature.
      * libmu_sieve/extensions/list.c (list_retrieve_header): Always
      return meaningful status.
      * libmu_sieve/tests.c (mu_sieve_relational_count): Remove.
      (retrieve_address,retrieve_envelope): Return meaningful status.
      (retrieve_header): Iterate over all mime parts, if required.
      (sieve_test_address,sieve_test_header): Rewrite.
      * libmu_sieve/variables.c (sieve_test_string): Rewrite using
      mu_sieve_vlist_compare.
      Sergey Poznyakoff authored
  12. 07 Dec, 2016 3 commits
    • Sergey Poznyakoff authored
    • * include/mailutils/glob.h: File was missing in df608ed0
      * include/mailutils/Makefile.am: Add glob.h
      Sergey Poznyakoff authored
    • * include/mailutils/sieve.h (mu_sieve_string): New fields
      "constant" and "changed".
      (mu_sieve_match_part_tags): New extern.
      (mu_sieve_relational_count)
      (mu_sieve_require_variables)
      (mu_sieve_has_variables)
      (mu_sieve_string_get): New functions.
      * libmu_sieve/variables.c: New file.
      * libmu_sieve/Makefile.am: Add variables.c
      * libmu_sieve/comparator.c: Use mu_sieve_string_get to obtain
      the actual value of the string.
      * libmu_sieve/require.c: Support the "variables" extension.
      * libmu_sieve/sieve-priv.h (mu_sieve_machine): New fields
      vartab, match_string, match_buf, match_count, match_max.
      (mu_i_sv_copy_variables)
      (mu_i_sv_expand_variables): New protos.
      * libmu_sieve/sieve.l (line_add): zero length means add entire
      asciiz string.
      * libmu_sieve/sieve.y (mu_sieve_machine_reset): Reset the new
      fields.
      (mu_sieve_machine_clone): Copy variables and initialize new
      fields.
      (string_rescan): New function.
      (sieve_parse): Rescan string to determine their properties.
      * libmu_sieve/strexp.c (update_len): Allow for NULL replacement
      values.
      * libmu_sieve/string.c (mu_sieve_string_get): New function.
      (mu_sieve_string): Use it.
      * libmu_sieve/tests.c (do_count): Rename to mu_sieve_relational_count,
      make global. All uses changed.
      (match_part_tags): Rename to mu_sieve_match_part_tags, make global.
      All uses changed.
      
      * sieve/tests/variables.at: New file.
      * sieve/tests/Makefile.am: Add new testcases.
      * sieve/tests/testsuite.at: Likewise.
      Sergey Poznyakoff authored
  13. 06 Dec, 2016 3 commits
    • * libmu_sieve/comparator.c: Use mu_glob_compile instead of fnmatch.
      Sergey Poznyakoff authored
    • * include/mailutils/opool.h (mu_nonlocal_jmp_t): New type.
      (mu_opool_setjmp,mu_opool_clrjmp): New functions.
      (mu_opool_setup_nonlocal_jump): New macro.
      * libmailutils/base/opool.c (_mu_opool)<jmp>: New field.
      (alloc_bucket): Do a non-local jump on out of memory condition,
      if jmp is not NULL.
      (mu_opool_setjmp,mu_opool_clrjmp): New functions.
      
      * libmailutils/base/glob.c: New file.
      * libmailutils/base/Makefile.am: Add glob.c
      
      * include/mailutils/glob.h: New file.
      * include/mailutils/mailutils.h: Include glob.h
      
      * libmailutils/tests/globtest.c: New file.
      * libmailutils/tests/globtest.at: New test.
      * libmailutils/tests/Makefile.am: Add new files.
      * libmailutils/tests/testsuite.at: Include new test.
      Sergey Poznyakoff authored
    • * libmailutils/stream/stream.c (mu_stream_ioctl): Don't flush read
      buffer.
      Sergey Poznyakoff authored
  14. 05 Dec, 2016 1 commit
    • * include/mailutils/opool.h (mu_opool_detach): New proto.
      * libmailutils/base/opool.c (mu_opool_bucket): Redo as union
      to ensure proper alignment.  All uses changed.
      (mu_opool_detach): New function.
      Sergey Poznyakoff authored