"Fossies" - the Fresh Open Source Software Archive

Member "libspf2-1.2.10/README" (28 Jan 2012, 4302 Bytes) of package /linux/privat/libspf2-1.2.10.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 /**
    2  * @file
    3  * @brief Description of libspf2
    4  * The contents of this file is extracted by the documentation
    5  * generator, and forms the front matter and introductory text to this 
    6  * manual. The documentation for this file is, therefore, apparently
    7  * empty.
    8  */
    9 
   10 /**
   11  * @mainpage Introduction to libspf2
   12 
   13  * @par Recipes
   14 
   15 An example client implementation is in spf_example.c with a little
   16 more error checking. The basic cases are as follows:
   17 
   18 The SPF server is reusable, and thread-safe. It must be freed using
   19 SPF_server_free.
   20 
   21 @code
   22 	SPF_server_t	*spf_server = SPF_server_new(SPF_DNS_CACHE, 0);
   23 @endcode
   24 
   25 Create a request, and set the relevant fields in it. Each setter
   26 method returns an SPF_errcode_t, which will inform you of error
   27 conditions, such as out-of-memory or invalid argument.
   28 
   29 @code
   30 	SPF_request_t	*spf_request = SPF_request_new(spf_server);
   31 	SPF_request_set_ipv4_str(spf_request, "123.45.6.7");
   32 	SPF_request_set_env_from(spf_request, "clientdomain.com");
   33 @endcode
   34 
   35 Now that we have built a query, we may execute it. It will use the
   36 SPF_server_t which was passed to the query constructor. As usual, the
   37 SPF_request_query_mailfrom method returns an error code, although
   38 much richer errors are returned inside the SPF_response_t - see
   39 spf_response.h for more details of that API.
   40 
   41 @code
   42 	SPF_response_t	*spf_response = NULL;
   43 	SPF_request_query_mailfrom(spf_request, &spf_response);
   44 	printf("Result is %s\n",
   45 			SPF_strresult(SPF_response_result(spf_response)));
   46 @endcode
   47 
   48 When we have finished with the response, we must free it and the
   49 request.
   50 
   51 @code
   52 	SPF_response_free(spf_response);
   53 	SPF_request_free(spf_request);
   54 @endcode
   55 
   56 We can execute many requests in parallel threads on the same server,
   57 but before the program exits, we must free the server.
   58 
   59 @code
   60 	SPF_server_free(spf_server);
   61 @endcode
   62 
   63  * @par Authors
   64 
   65  - Current maintainer: Shevek <libspf2@anarres.org>
   66  - Contributors: Magnus Holmgren, Julian Mehnle, Scott Kitterman
   67  - Contributors: Dan Kaminsky, Ben Chelf, Hannah Schroeter
   68  - Contributors: Martin Braine, Manish Raje, Stuart Gathman
   69  - Original author, 1.0 series: Wayne Schlitt <wayne@midwestcs.com>
   70 
   71  * @par License
   72 
   73 This program is free software; you can redistribute it and/or modify
   74 it under the terms of either:
   75 
   76   a) the GNU Lesser General Public License as published by the Free
   77      Software Foundation; either version 2.1, or (at your option) any
   78      later version, or
   79 
   80   OR
   81 
   82   b) The two-clause BSD license.
   83 
   84 Some code in the 'replace' subdirectory was obtained form other sources
   85 and have different, but compatible, licenses. These routines are
   86 used only when the native libraries for the OS do not contain these
   87 functions.  You should review the licenses and copyright statments
   88 in these functions if you are using an OS that needs these functions.
   89 
   90  * @par Original README from Wayne Schlitt
   91 
   92 Libspf2 is an implementation of the SPF specification as found at
   93 http://www.ietf.org/internet-drafts/draft-mengwong-spf-00.txt
   94 or doc/draft-mengwong-spf-00.txt
   95 
   96 Libspf2 is in beta testing and should only be used in production
   97 systems with caution.  It has not been widely compiled and tested on
   98 machines with different operating systems, CPU architectures, or
   99 network configurations.  It has not been audited for security errors.
  100 
  101 While libspf2 is beta code, a lot of effort has been put into
  102 making it secure by design, and a great deal of effort has been put
  103 into the regression tests.  Functions such as sprintf() are never
  104 used, things like snprintf() are used instead.  There are few fixed
  105 sized buffers/arrays, instead, most data structures are dynamically
  106 allocated with the allocation sized recorded so I can check to make
  107 sure the buffer isn't overflowed.  The return values from malloc() and
  108 other system calls are checked and handled as gracefully as I can.
  109 The valgrind program is regularly run to make sure that there are no
  110 memory leaks and reads/writes to invalid memory.
  111 
  112 
  113 This code has been compiled and passed its regression tests on Debian
  114 Linux (sid/testing) on the x86, FreeBSD 4.3 (x86), FreeBSD 4.9
  115 (x86??), NetBSD 1.62 (x86?), SunOS 5.8 on the ultrasparc, and a few
  116 others.  It uses the autotools (autoconfig, libtools, automake, etc.)
  117 to try and make things more portable, so it will likely work on other
  118 systems also.
  119 
  120 
  121 -wayne
  122 
  123  */