1. 01 Jan, 2016 2 commits
    • Kevin J. McCarthy's avatar
      Convert copyright years to all use 4 digit years. · 8ce41525
      Kevin J. McCarthy authored
      Vincent Lefèvre pointed out the common shortcut, e.g 1996-9, is
      actually not allowed for copyright years.  Convert all the copyright
      years (for mutt files) to use 4 digits.
      8ce41525
    • Kevin J. McCarthy's avatar
      Update copyright notices. · 1b329ffe
      Kevin J. McCarthy authored
      This patch only updates existing copyright notices in the source
      files, using commit dates since the last copyright update in commits
      e3af935cdb1a and f8fd60d8d3f2.
      
      Add a notice to the COPYRIGHT file to refer to our mercurial
      repository for the full commit history.
      
      Add myself to the COPYRIGHT file and smime_keys.pl file.
      1b329ffe
  2. 24 Nov, 2015 1 commit
    • Kevin J. McCarthy's avatar
      Rename idna functions and bits for smtputf8 changes. · 0e0520fa
      Kevin J. McCarthy authored
      This is patch 1 of 4 implementing support for SMTPUTF8 (RFC 6531).
      
      Change mutt_idna.c to be always compiled.  Remove the stub functions in
      mutt_idna.h.  Instead, put #ifdefs around the idna function calls.  The
      conversion functions will be fixed up in the next patch.
      
      Rename the conversion functions to mutt_addrlist_to_intl() and
      mutt_env_to_intl().  Rename the ADDRESS idna status bits to "intl"
      status bits.
      0e0520fa
  3. 09 Nov, 2015 1 commit
    • Kevin J. McCarthy's avatar
      Fix possible unintentional '\0' strchr matches. · e27a9746
      Kevin J. McCarthy authored
      After fixing the ticket 3787 strchr issue, this patch cleans up other
      potentially incorrect uses of strchr for the '\0' case.
      
      In mutt_multi_choice(), mutt_getch() can technically return 0.  Although
      it seems the user would have to try quite hard to do this, it's
      incorrect to return that index into letters.  Change "ch.ch==0" to be
      considered the same as an abort.
      
      is_email_wsp() is used in a couple places where it wasn't obvious
      whether '\0' was being accounted for, so add an explicit check to the
      function.
      
      Inside eat_date(), if mutt_extract_token() had no input and returned
      "", the strchr ("<>=", buffer.data[0]) below would return a pointer.
      In actuality, this is prevented by an empty parameter check inside
      mutt_pattern_comp(), but it doesn't hurt to make it the same as
      eat_regexp() and have the check explicitly done here too.
      
      rfc2047_encode() was another borderline case for adding a check.  The
      convert_string() sets a length, so it seems highly unlikely that *t
      could be 0, but doesn't hurt to add the check.
      
      The find_encoded_word() fix looks necessary.  If the passed in s was
      something like "=?charset?" (followed by EOS, '\0'), the strchr("BbQq",
      q[1]) would in fact return a pointer and the following q[2] would read
      past the end of string.  If q[2] happened to be '?', it might even
      continue reading in the for loop below.
      
      Lastly, in parse_mailboxdomain(), the potential overread was already
      fixed in changeset:a6919571eb59, but although the nonspecial and special
      strchr() line happens to "work" for the case of '\0', it's pretty
      fragile to leave as is.  It's better to be explicit and just return if
      we hit EOS without calling next_token().
      e27a9746
  4. 18 Oct, 2015 1 commit
    • Kevin J. McCarthy's avatar
      Fix next_token() oob read. (closes #3787) · 84883442
      Kevin J. McCarthy authored
      With specially crafted input to 'mutt -H', the line "Return-Path:<() "
      is read and passed to mutt_parse_rfc822_line(). "<() " is then passed
      through to rfc822_parse_adrlist().
      
      Eventually, inside next_token(), is_special(*s) is called when s
      points to the end of the string ('\0').  This macro calls strchr,
      which will actually match and return a pointer to the trailing '\0' in
      RFC822Specials!  This causes "s + 1" to be returned, skipping past the
      end of string inside parse_mailboxdomain().
      
      This patch adds a check to make sure *s is non-null before calling
      is_special(*s).
      84883442
  5. 16 Oct, 2013 1 commit
  6. 31 Dec, 2012 1 commit
  7. 18 Dec, 2012 1 commit
    • Michael Elkins's avatar
      rename iswsp() to is_email_wsp() · 90eb6a39
      Michael Elkins authored
      add new inline funtion skip_email_wsp() to be used in lieu of SKIPWS() when parsing ASCII protocols rather than user input.
      
      change use of SKIPWS() to skip_email_wsp() in places where it is likely to be a problem.
      90eb6a39
  8. 16 Dec, 2012 1 commit
  9. 03 Dec, 2011 1 commit
    • Dan Fandrich's avatar
      Declare many structures const (closes #3552) · 05df9d08
      Dan Fandrich authored
      Many structs used in mutt are actually constant but are defined
      without the 'const' keyword. This can slow initialization (slightly)
      in some environments due to extra copying and increases the amount of
      writable RAM required at run-time, which can be significant on non-MMU
      systems. Using const can also increase the opportunities for compiler
      optimization.
      
      The attached patch marks many such structures as const. On my test x86
      build, this reduces the size of .data by over 50%.
      05df9d08
  10. 20 Jun, 2011 1 commit
  11. 02 Mar, 2010 3 commits
  12. 01 Mar, 2010 1 commit
  13. 28 Jul, 2009 1 commit
  14. 23 Jul, 2009 1 commit
  15. 19 Jun, 2009 1 commit
  16. 13 May, 2009 1 commit
  17. 15 Mar, 2009 1 commit
  18. 16 Dec, 2008 1 commit
  19. 28 Oct, 2008 1 commit
  20. 02 Jun, 2008 1 commit
  21. 01 Nov, 2007 1 commit
    • Rocco Rutte's avatar
      Unbreak exact address feature. · 9f47e58c
      Rocco Rutte authored
      The problem was that when reading back tempfiles for pager display, trailing
      \n were not removed from the input so the pager displayed 2 instead of 1.
      9f47e58c
  22. 02 Apr, 2007 1 commit
  23. 14 Mar, 2007 1 commit
  24. 12 Mar, 2007 1 commit
  25. 18 May, 2006 1 commit
    • Rocco Rutte's avatar
      Avoid safe_free() usage and add security checks · 503d12ff
      Rocco Rutte authored
      Add checks to check_sec.sh for memory functions.
      
      These include a check for use of safe_free() instead of FREE() and a
      check whether FREE(&...) is used.
      
      For the former, __SAFE_FREE_CHECKED__ is to be used, for the latter
      __FREE_CHECKED__ to avoid messages from check_sec.sh
      503d12ff
  26. 17 Sep, 2005 2 commits
  27. 03 Feb, 2005 1 commit
  28. 24 Jul, 2003 1 commit
    • Vincent Lefevre's avatar
      Some functions/macros like isspace take an int and require the · 553ef91d
      Vincent Lefevre authored
      argument to have the value of an unsigned char (or EOF). Under
      Solaris, gcc complains when the argument is a char (as this is a
      possible bug, on platforms where char is signed, like Solaris). The
      attached patch fixes such problems (well, perhaps I've changed more
      than necessary, but this doesn't hurt).
      553ef91d
  29. 03 Mar, 2003 1 commit
  30. 11 Dec, 2002 1 commit
  31. 10 Dec, 2002 1 commit
  32. 09 Dec, 2002 1 commit
  33. 30 May, 2002 1 commit
  34. 04 Jan, 2002 1 commit
  35. 01 Jan, 2002 1 commit
  36. 17 Jan, 2001 1 commit