Skip to content

Commit 12a357a

Browse files
committed
github 0.9.7 import
1 parent cdf6f48 commit 12a357a

File tree

194 files changed

+75142
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+75142
-15
lines changed

AUTHORS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Stefano Barbato <[email protected]>

COPYING

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Versions 0.9.6 and above of mimetic are released under the
2+
MIT License (see the LICENSE file).
3+
4+
Versions 0.9.5 and below follow the GPLv2 license.
5+

ChangeLog

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
$Id: ChangeLog,v 1.31 2009-02-27 16:00:43 tat Exp $
2+
3+
10.09.2011, 0.9.7
4+
- references to GPL removed (mimetic's MIT licensed now)
5+
- body::code() bug fix (thanks to bstoeger)
6+
- Win32 port updated (thanks to Hilmi Jauffer)
7+
- ContentTransferEncoding encoding consts (base64,eightbit,binary, etc.)
8+
- Body::load() now clears the current body content before loading
9+
10+
13.05.2009, 0.9.6
11+
- malformed msg parsing: handle field names with trailing blanks
12+
- malformed msg parsing: skip header lines that start with ':'
13+
- malformed msg parsing: try to handle messages without the blank line
14+
between the header and body considering the first malformed header line
15+
as the first line of the body
16+
- ifile_iterator::operator==() bug fix (thanks to Matthew L. Creech)
17+
- <cstdlib> added to libconfig.h (gcc 4.3.2 fix, thanks to Dirk Vermeir)
18+
- bug fix: quoted string are not folded anymore
19+
- bug fix: empty field values parsing fix (thanks to Paul Barnetta)
20+
- bug fix: fields with trailing blanks were badly folded (thanks
21+
to Ofer Peled)
22+
- LICENSE changed to The MIT / X Window System License
23+
24+
07.10.2008, 0.9.5
25+
- folding bug fixed (thanks to by M.Pinna)
26+
- tokenizer bug fix (thanks to by Jay Sprenkle)
27+
28+
03.04.2007, 0.9.3
29+
- gcc 4.3.x fix
30+
31+
21.01.2007, 0.9.2
32+
- Solaris compatibility fixes (thanks to Shan Will)
33+
- itparser.h fixes (thanks to Phil Endecott and Joshua Chang)
34+
- DateTime set fix
35+
36+
10.04.2006, 0.9.1
37+
- utils.h: gcc 4.1 compatibility fix
38+
- assert() on malformed quoted-printable messages removed
39+
40+
12.03.2006, 0.9.0
41+
- Body::load optimization (thanks to Jorge Ortiz Claver)
42+
- InIt copy_until_boundary fix (thanks to Harald Gering)
43+
- fixes to let it build on Solaris (thanks to Shan Will)
44+
45+
07.03.2005, 0.8.9
46+
- thread-safe MessageId
47+
- always use CRLF (instead of '\n') on write functions
48+
- gcc 3.4.x support
49+
- fix: endless loop on malformed base64 input (thanks to Soenke Schau [ss])
50+
- fix: no more characters are eaten by folding algorithm when a word is
51+
longer then the chosen folding limit
52+
- fixed a bug that segfault apps parsing some 'binary' encoded entities
53+
(thanks to Paul Marcovici)
54+
- examples/exbin, correctly extract 'binary' encoded entities
55+
56+
06.09.2004, 0.8.8
57+
- Codec const-ness mimetic::Body fix
58+
- itparser memory leak fixed
59+
60+
30.08.2004, 0.8.7
61+
- Mac OS X support
62+
- initial Win32 support (thanks to Andreas Gruen [agr])
63+
- copyright date updated
64+
- config_win32.h autogen on 'make dist'
65+
- removed a linux specific header file
66+
- inline changed to be the first keyword in funcs declaration
67+
(thanks to Harald Gering)
68+
- *.cc renamed to *.cxx (required by MS Visual C++)
69+
- IteratorParser<>::append() fix [agr]
70+
- Mailbox::str() fix [agr]
71+
- tokenizer fix [agr]
72+
73+
29.04.2004, 0.8.6
74+
- cutee resync
75+
- Body::set(...) added
76+
- doc/header.html and doc/footer.html added to distribution pkg
77+
- dist-hook to rm test/*.cutee.* test/autocutee.mk
78+
79+
20.01.2004, 0.8.5
80+
- parser bug: \n after the body of multipart msgs (see t.parser.h::t0)
81+
- cutee resync
82+
83+
17.12.2003, 0.8.4
84+
- cutee (unit testing engine) upgraded
85+
- a multi-function email tool has been added into the examples
86+
directory. it's still work in progess but already useful for
87+
filtering/searching
88+
- Attachment and subclasses modified for easy porting
89+
- fix to avoid an error when parsing fields without any
90+
value: "fieldname: \n". (segfaults if such field is the first one)
91+
- find_bm fixed
92+
93+
20.11.2003, 0.8.3
94+
- random_access_iterator parser fixed:
95+
sometimes boundary was included into the body
96+
- input_iterator parser fixed (will no more ignore the
97+
first body newline)
98+
- MMFile::open() will return true only opening regular files
99+
100+
18.11.2003, 0.8.2
101+
- initial public release

INSTALL

+182
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
Basic Installation
2+
==================
3+
4+
These are generic installation instructions.
5+
6+
The `configure' shell script attempts to guess correct values for
7+
various system-dependent variables used during compilation. It uses
8+
those values to create a `Makefile' in each directory of the package.
9+
It may also create one or more `.h' files containing system-dependent
10+
definitions. Finally, it creates a shell script `config.status' that
11+
you can run in the future to recreate the current configuration, a file
12+
`config.cache' that saves the results of its tests to speed up
13+
reconfiguring, and a file `config.log' containing compiler output
14+
(useful mainly for debugging `configure').
15+
16+
If you need to do unusual things to compile the package, please try
17+
to figure out how `configure' could check whether to do them, and mail
18+
diffs or instructions to the address given in the `README' so they can
19+
be considered for the next release. If at some point `config.cache'
20+
contains results you don't want to keep, you may remove or edit it.
21+
22+
The file `configure.in' is used to create `configure' by a program
23+
called `autoconf'. You only need `configure.in' if you want to change
24+
it or regenerate `configure' using a newer version of `autoconf'.
25+
26+
The simplest way to compile this package is:
27+
28+
1. `cd' to the directory containing the package's source code and type
29+
`./configure' to configure the package for your system. If you're
30+
using `csh' on an old version of System V, you might need to type
31+
`sh ./configure' instead to prevent `csh' from trying to execute
32+
`configure' itself.
33+
34+
Running `configure' takes awhile. While running, it prints some
35+
messages telling which features it is checking for.
36+
37+
2. Type `make' to compile the package.
38+
39+
3. Optionally, type `make check' to run any self-tests that come with
40+
the package.
41+
42+
4. Type `make install' to install the programs and any data files and
43+
documentation.
44+
45+
5. You can remove the program binaries and object files from the
46+
source code directory by typing `make clean'. To also remove the
47+
files that `configure' created (so you can compile the package for
48+
a different kind of computer), type `make distclean'. There is
49+
also a `make maintainer-clean' target, but that is intended mainly
50+
for the package's developers. If you use it, you may have to get
51+
all sorts of other programs in order to regenerate files that came
52+
with the distribution.
53+
54+
Compilers and Options
55+
=====================
56+
57+
Some systems require unusual options for compilation or linking that
58+
the `configure' script does not know about. You can give `configure'
59+
initial values for variables by setting them in the environment. Using
60+
a Bourne-compatible shell, you can do that on the command line like
61+
this:
62+
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
63+
64+
Or on systems that have the `env' program, you can do it like this:
65+
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
66+
67+
Compiling For Multiple Architectures
68+
====================================
69+
70+
You can compile the package for more than one kind of computer at the
71+
same time, by placing the object files for each architecture in their
72+
own directory. To do this, you must use a version of `make' that
73+
supports the `VPATH' variable, such as GNU `make'. `cd' to the
74+
directory where you want the object files and executables to go and run
75+
the `configure' script. `configure' automatically checks for the
76+
source code in the directory that `configure' is in and in `..'.
77+
78+
If you have to use a `make' that does not supports the `VPATH'
79+
variable, you have to compile the package for one architecture at a time
80+
in the source code directory. After you have installed the package for
81+
one architecture, use `make distclean' before reconfiguring for another
82+
architecture.
83+
84+
Installation Names
85+
==================
86+
87+
By default, `make install' will install the package's files in
88+
`/usr/local/bin', `/usr/local/man', etc. You can specify an
89+
installation prefix other than `/usr/local' by giving `configure' the
90+
option `--prefix=PATH'.
91+
92+
You can specify separate installation prefixes for
93+
architecture-specific files and architecture-independent files. If you
94+
give `configure' the option `--exec-prefix=PATH', the package will use
95+
PATH as the prefix for installing programs and libraries.
96+
Documentation and other data files will still use the regular prefix.
97+
98+
In addition, if you use an unusual directory layout you can give
99+
options like `--bindir=PATH' to specify different values for particular
100+
kinds of files. Run `configure --help' for a list of the directories
101+
you can set and what kinds of files go in them.
102+
103+
If the package supports it, you can cause programs to be installed
104+
with an extra prefix or suffix on their names by giving `configure' the
105+
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
106+
107+
Optional Features
108+
=================
109+
110+
Some packages pay attention to `--enable-FEATURE' options to
111+
`configure', where FEATURE indicates an optional part of the package.
112+
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
113+
is something like `gnu-as' or `x' (for the X Window System). The
114+
`README' should mention any `--enable-' and `--with-' options that the
115+
package recognizes.
116+
117+
For packages that use the X Window System, `configure' can usually
118+
find the X include and library files automatically, but if it doesn't,
119+
you can use the `configure' options `--x-includes=DIR' and
120+
`--x-libraries=DIR' to specify their locations.
121+
122+
Specifying the System Type
123+
==========================
124+
125+
There may be some features `configure' can not figure out
126+
automatically, but needs to determine by the type of host the package
127+
will run on. Usually `configure' can figure that out, but if it prints
128+
a message saying it can not guess the host type, give it the
129+
`--host=TYPE' option. TYPE can either be a short name for the system
130+
type, such as `sun4', or a canonical name with three fields:
131+
CPU-COMPANY-SYSTEM
132+
133+
See the file `config.sub' for the possible values of each field. If
134+
`config.sub' isn't included in this package, then this package doesn't
135+
need to know the host type.
136+
137+
If you are building compiler tools for cross-compiling, you can also
138+
use the `--target=TYPE' option to select the type of system they will
139+
produce code for and the `--build=TYPE' option to select the type of
140+
system on which you are compiling the package.
141+
142+
Sharing Defaults
143+
================
144+
145+
If you want to set default values for `configure' scripts to share,
146+
you can create a site shell script called `config.site' that gives
147+
default values for variables like `CC', `cache_file', and `prefix'.
148+
`configure' looks for `PREFIX/share/config.site' if it exists, then
149+
`PREFIX/etc/config.site' if it exists. Or, you can set the
150+
`CONFIG_SITE' environment variable to the location of the site script.
151+
A warning: not all `configure' scripts look for a site script.
152+
153+
Operation Controls
154+
==================
155+
156+
`configure' recognizes the following options to control how it
157+
operates.
158+
159+
`--cache-file=FILE'
160+
Use and save the results of the tests in FILE instead of
161+
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
162+
debugging `configure'.
163+
164+
`--help'
165+
Print a summary of the options to `configure', and exit.
166+
167+
`--quiet'
168+
`--silent'
169+
`-q'
170+
Do not print messages saying which checks are being made. To
171+
suppress all normal output, redirect it to `/dev/null' (any error
172+
messages will still be shown).
173+
174+
`--srcdir=DIR'
175+
Look for the package's source code in directory DIR. Usually
176+
`configure' can determine that directory automatically.
177+
178+
`--version'
179+
Print the version of Autoconf used to generate the `configure'
180+
script, and exit.
181+
182+
`configure' also accepts some other, not widely useful, options.

LICENSE

+18-15
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
1-
The MIT License (MIT)
21

3-
Copyright (c) 2014 tat
2+
The MIT License
43

5-
Permission is hereby granted, free of charge, to any person obtaining a copy of
6-
this software and associated documentation files (the "Software"), to deal in
7-
the Software without restriction, including without limitation the rights to
8-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9-
the Software, and to permit persons to whom the Software is furnished to do so,
10-
subject to the following conditions:
4+
Copyright (c) 2009 Stefano Barbato
115

12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in
14+
all copies or substantial portions of the Software.
1415

1516
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
THE SOFTWARE.
23+

Makefile.am

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
MAINTAINERCLEANFILES = Makefile Makefile.in config.cache
2+
EXTRA_DIST=LICENSE m4
3+
SUBDIRS = mimetic doc examples test win32
4+
INCLUDES=-I$(top_srcdir)
5+
ACLOCAL_AMFLAGS=-I m4
6+
7+
dist-hook:
8+
rm -f $(distdir)/test/autocutee.mk
9+
touch $(distdir)/test/autocutee.mk
10+
rm -f $(distdir)/test/*.cutee.cxx
11+
rm -f $(distdir)/test/*.cutee.o

0 commit comments

Comments
 (0)