Skip to content
Snippets Groups Projects
Select Git revision
  • 2bd0701eea1cc7622f8cde1d5e8ce2f11971cac8
  • master default
  • fix-remote-url_v4.9.1
  • fix-remote-url_v4.8.3
  • fix-remote-url_v4.8.x
  • fix-remote-url_v4.7.x
  • fix-remote-url_v4.6.0
  • fix-remote-urls
8 results

questiontestdelete.php

Blame
  • miltermodule.c 50.75 KiB
    /* Copyright (C) 2001  James Niemira (niemira@colltech.com, urmane@urmane.org)
     * Portions Copyright (C) 2001,2002,2003,2004,2005,2006,2007
     *   Stuart Gathman (stuart@gathman.org)
     *
     * This program is free software: you can redistribute it and/or modify it
     * under the terms of the GNU General Public License as published by the
     * Free Software Foundation, either version 2 of the License, or (at your
     * option) any later version.
     *
     * This program is distributed in the hope that it will be useful, but
     * WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     * General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License along
     * with this program; if not, write to the Free Software Foundation, Inc.,
     * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
     *
     * milterContext object and thread interface contributed by
     * 	Stuart D. Gathman <stuart@bmsi.com>
     */
    
    /* This is a Python extension to use Sendmail's libmilter functionality.  
       It is built using distutils.  To install it:
    
    # python setup.py install 
    
       For additional options:
    
    $ python setup.py help
      
       You may need to add additional libraries to setup.py.  For instance,
       Solaris2.6 requires 
    
         libraries=["milter","smutil","resolv"]
    
     */
    
    #ifndef MAX_ML_REPLY
    #define MAX_ML_REPLY 32
    #endif
    #if MAX_ML_REPLY != 1 && MAX_ML_REPLY != 32 && MAX_ML_REPLY != 11
    #error MAX_ML_REPLY must be 1 or 11 or 32
    #endif
    #define _FFR_MULTILINE (MAX_ML_REPLY > 1)
    
    //#include <pthread.h>	// shouldn't be needed - use Python API
    #include <Python.h>		// Python C API
    #include <libmilter/mfapi.h>	// libmilter API
    #include <netinet/in.h>		// socket API
    
    
    /* See if we have IPv4 and/or IPv6 support in this OS and in
     * libmilter.  We need to make several macro tests because some OS's
     * may define some if IPv6 is only partially supported, and we may
     * have a sendmail without IPv4 (compiled for IPv6-only).
     */
    #ifdef SMFIA_INET
    #ifdef AF_INET
    #define HAVE_IPV4_SUPPORT /* use this for #ifdef's later on */
    #endif
    #endif
    
    #ifdef SMFIA_INET6
    #ifdef AF_INET6
    #ifdef IN6ADDR_ANY_INIT
    #ifdef INET6_ADDRSTRLEN
    #define HAVE_IPV6_SUPPORT /* use this for #ifdef's later on */
    /* Now see if it supports the RFC-2553 socket's API spec.  Early
     * IPv6 "prototype" implementations existed before the RFC was