components/procmail/patches/03-procmail-3.22-ipv6.patch
author Drew Fisher <drew.fisher@oracle.com>
Mon, 31 Mar 2014 16:44:02 -0700
branchs11-update
changeset 3028 5e73a3a3f66a
parent 2723 138732f62341
permissions -rw-r--r--
PSARC/2013/350 OpenStack for Solaris (Umbrella) PSARC/2014/007 OpenStack client API components for Grizzly PSARC/2014/048 OpenStack Keystone (OpenStack Identity Service) PSARC/2014/049 OpenStack Nova (OpenStack Compute Service) PSARC/2014/054 OpenStack Cinder (OpenStack Block Storage Service) PSARC/2014/055 OpenStack Glance (OpenStack Image Service) PSARC/2014/058 OpenStack Horizon (OpenStack Dashboard) PSARC/2014/059 OpenStack Neutron (OpenStack Networking Service) 17531161 greenlet doesn't build with gcc 4.7.X 18143276 greenlet can crash with register window corruption on MP SPARC 18290089 integrate cinderclient 18290097 integrate glanceclient 18290102 integrate keystoneclient 18290109 integrate neutronclient 18290113 integrate novaclient 18290119 integrate swiftclient 18290125 integrate quantumclient 18307582 Request to integrate Cinder into userland 18307595 Request to integrate Glance into userland 18307626 Request to integrate Horizon into userland 18307641 Request to integrate Keystone into userland 18307650 Request to integrate Neutron into userland 18307659 Request to integrate Nova into userland 18321909 a few Python packages deliver both po and mo files 18362900 Dnsmasq's SMF method_credential is missing a privilege 18363793 Dnsmasq should use SIOCSXARP ioctl
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2723
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
--- procmail-3.22/src/autoconf.ipv6	2006-10-24 14:46:44.000000000 +0200
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
+++ procmail-3.22/src/autoconf	2006-10-24 14:51:01.000000000 +0200
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
@@ -68,8 +68,6 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
 #	#define NOfsync
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
 #Ok	#define endpwent()
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
 #Ok	#define endgrent()
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     7
-#Ok	#define endhostent()
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
-#Ok	#define endservent()
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     9
 #Ok	#define endprotoent()
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
 #	#define h_0addr_list h_addr
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
 #Ok	#define NOpw_passwd
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
@@ -896,7 +894,7 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    13
  {uid_t vuid_t;i+=vuid_t=1;}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    14
  {gid_t vgid_t;i+=vgid_t=1;}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
 #ifndef NO_COMSAT
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    16
- {struct hostent vhostent;i+=!(vhostent.h_addr_list=0);}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    17
+ {struct addrinfo res; i+=!(res.ai_socktype=0);}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
 #endif
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
 #ifndef NOuname
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    20
  {struct utsname vutsname;i+=!(*vutsname.nodename='\0');}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    21
@@ -917,8 +915,6 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    22
   test -z "$i3" && grepfor mode_t 'typedef int mode_t;' && i3=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    23
   test -z "$i4" && grepfor uid_t 'typedef int uid_t;' && i4=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    24
   test -z "$i5" && grepfor gid_t 'typedef int gid_t;' && i5=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    25
-  test -z "$i6" && grepfor h_addr_list '#define h_0addr_list h_addr' && i6=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    26
-  test -z "$i6" && grepfor hostent '#define h_0addr_list h_addr' && i6=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    27
   test -z "$i6" && grepfor member '#define h_0addr_list h_addr' && i6=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    28
   test -z "$i7" && grepfor utsname "#define NOuname			      \
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    29
 /* <sys/utsname.h> is there, but empty */" && i7=I
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    30
@@ -1048,8 +1044,12 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    31
  {struct utsname b;uname(&b);}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    32
 #endif
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    33
 #ifndef NO_COMSAT
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    34
- gethostbyname("0");getprotobyname(COMSATprotocol);endhostent();endservent();
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    35
- endprotoent();
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    36
+ {
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    37
+ struct addrinfo *res, hints;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    38
+ memset(&hints, '\0', sizeof(hints));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    39
+ if(getaddrinfo(COMSAThost,BIFF_serviceport,&hints,&res))
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    40
+ 	freeaddrinfo(res);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    41
+ }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    42
 #endif
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    43
  _exit(0);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    44
  return 0;}
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    45
@@ -1103,14 +1103,9 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    46
 /* <sys/utsname.h> defines it, the libraries don't */"
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    47
 grepfor endpwent '#define endpwent()'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    48
 grepfor endgrent '#define endgrent()'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    49
-if grepfor gethostbyname '#define NO_COMSAT'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    50
+if grepfor getaddrinfo '#define NO_COMSAT'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    51
 then
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    52
 :
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    53
-else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    54
-  grepfor getprotobyname '#define UDP_protocolno 17'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    55
-  grepfor endhostent '#define endhostent()'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    56
-  grepfor endservent '#define endservent()'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    57
-  grepfor endprotoent '#define endprotoent()'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    58
 fi
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    59
 grepfor strstr '#define SLOWstrstr' ||
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    60
  grepfor clock '#define SLOWstrstr'
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    61
@@ -1239,39 +1234,9 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    62
 	printf("/* Insufficient memory to perform the benchmark! */\n");
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    63
 #endif /* SLOWstrstr */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    64
 #ifndef NO_COMSAT
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    65
-#ifndef UDP_protocolno
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    66
-     ;{ const struct protoent*p;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    67
-	if(p=getprotobyname(COMSATprotocol))
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    68
-	 { printf("#define UDP_protocolno %d\n",p->p_proto);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    69
-#else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    70
-     ;{ if(1)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    71
-	 {
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    72
-#endif
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    73
-	   ;{ const struct servent*serv;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    74
-	      if(serv=getservbyname(COMSATservice,COMSATprotocol))
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    75
-		 printf("#define BIFF_serviceport \"%d\"\n",
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    76
-		  ntohs(serv->s_port));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    77
-	    }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    78
-#ifdef AF_INET
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    79
-	   ;{ const struct hostent*host;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    80
-	      if(!strcmp("localhost",COMSAThost)&&
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    81
-	       (host=gethostbyname(COMSAThost))&&
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    82
-	       host->h_0addr_list&&host->h_addrtype==AF_INET&&
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    83
-	       host->h_length)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    84
-	       { int j=host->h_length;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    85
-		 const unsigned char*ad=(void*)host->h_0addr_list;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    86
-		 printf("#define IP_localhost {");
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    87
-		 printf("%d",*ad++);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    88
-		 while(--j)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    89
-		    printf(",%d",*ad++);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    90
-		 puts("}");
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    91
-	       }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    92
-	    }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    93
+#ifndef AF_INET
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    94
+	puts("#define NO_COMSAT");
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    95
 #endif /* AF_INET */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    96
-	 }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    97
-	else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    98
-	   puts("#define NO_COMSAT");
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    99
-      }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   100
 #endif /* NO_COMSAT */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   101
      ;{ unsigned long s=(size_t)~0;int bits;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   102
 	for(bits=1;s>>=1;bits++);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   103
--- procmail-3.22/src/network.h.ipv6	1999-04-17 08:18:45.000000000 +0200
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   104
+++ procmail-3.22/src/network.h	2006-10-24 14:46:44.000000000 +0200
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   105
@@ -1,19 +1,13 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   106
 /*$Id: network.h,v 1.7 1997/04/02 03:15:41 srb Exp $*/
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   107
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   108
-#include <sys/socket.h>			/* socket() sendto() AF_INET
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   109
+#include <sys/socket.h>			/* socket() sendto() */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   110
 					/* SOCK_DGRAM */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   111
-#include <netdb.h>			/* gethostbyname() getservbyname()
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   112
-					/* getprotobyname() */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   113
-#include <netinet/in.h>			/* htons() struct sockaddr_in */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   114
+#include <netdb.h>			/* getaddrinfo() */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   115
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   116
 #ifndef BIFF_serviceport
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   117
 #define BIFF_serviceport	COMSATservice
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   118
 #endif
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   119
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   120
-#ifndef h_0addr_list
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   121
-#define h_0addr_list	h_addr_list[0]		      /* POSIX struct member */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   122
-#endif
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   123
-
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   124
 #ifndef NO_const      /* since network.h is outside the autoconf const check */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   125
 #ifdef const		    /* loop, we need this backcheck for some systems */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   126
 #undef const
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   127
--- procmail-3.22/src/comsat.c.ipv6	2006-10-24 14:46:44.000000000 +0200
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   128
+++ procmail-3.22/src/comsat.c	2006-10-24 14:46:44.000000000 +0200
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   129
@@ -27,7 +27,8 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   130
 #include "comsat.h"
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   131
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   132
 static int csvalid;		     /* is it turned on with a good address? */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   133
-static struct sockaddr_in csaddr;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   134
+static struct addrinfo cai;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   135
+static struct sockaddr *csaddr;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   136
 static char*cslastf,*cslgname;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   137
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   138
 void setlfcs(folder)const char*folder;		/* set lastfolder for comsat */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   139
@@ -62,56 +63,32 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   140
 }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   141
 
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   142
 int setcomsat(chp)const char*chp;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   143
-{ char*chad;int newvalid; struct sockaddr_in newaddr;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   144
+{ char*chad;int newvalid; struct addrinfo *res, hints;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   145
   chad=strchr(chp,SERV_ADDRsep);			     /* @ separator? */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   146
   if(!chad&&!renvint(-1L,chp))
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   147
      return csvalid=0;					/* turned off comsat */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   148
   newvalid=1;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   149
   if(chad)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   150
      *chad++='\0';				      /* split the specifier */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   151
+  if(!chad||!*chp)					       /* no service */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   152
+     chp=BIFF_serviceport;				/* new balls please! */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   153
   if(!chad||!*chad)						  /* no host */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   154
-#ifndef IP_localhost			      /* Is "localhost" preresolved? */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   155
      chad=COMSAThost;					/* nope, use default */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   156
-#else /* IP_localhost */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   157
-   { static const unsigned char ip_localhost[]=IP_localhost;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   158
-     newaddr.sin_family=AF_INET;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   159
-     tmemmove(&newaddr.sin_addr,ip_localhost,sizeof ip_localhost);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   160
-   }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   161
-  else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   162
-#endif /* IP_localhost */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   163
-   { const struct hostent*host;		      /* what host?  paranoid checks */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   164
-     if(!(host=gethostbyname(chad))||!host->h_0addr_list)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   165
-      { bbzero(&newaddr.sin_addr,sizeof newaddr.sin_addr);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   166
-	newvalid=0;			     /* host can't be found, too bad */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   167
-      }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   168
-     else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   169
-      { newaddr.sin_family=host->h_addrtype;	     /* address number found */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   170
-	tmemmove(&newaddr.sin_addr,host->h_0addr_list,host->h_length);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   171
-      }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   172
-     endhostent();
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   173
-   }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   174
-  if(newvalid)						  /* so far, so good */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   175
-   { int s;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   176
-     if(!chad||!*chp)					       /* no service */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   177
-	chp=BIFF_serviceport;				/* new balls please! */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   178
-     s=strtol(chp,&chad,10);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   179
-     if(chp!=chad)			       /* the service is not numeric */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   180
-	newaddr.sin_port=htons((short)s);		    /* network order */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   181
-     else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   182
-      { const struct servent*serv;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   183
-	serv=getservbyname(chp,COMSATprotocol);		   /* so get its no. */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   184
-	if(serv)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   185
-	   newaddr.sin_port=serv->s_port;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   186
-	else
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   187
-	 { newaddr.sin_port=htons((short)0);		  /* no such service */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   188
-	   newvalid=0;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   189
-	 }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   190
-	endservent();
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   191
-      }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   192
-   }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   193
+  bzero(&hints,sizeof(hints));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   194
+  hints.ai_socktype=SOCK_DGRAM;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   195
+  hints.ai_flags=AI_ADDRCONFIG;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   196
+  if(getaddrinfo(chad,chp,&hints,&res))
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   197
+     newvalid=0;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   198
+  
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   199
   onguard();				    /* update the address atomically */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   200
   if(csvalid=newvalid)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   201
-     tmemmove(&csaddr,&newaddr,sizeof(newaddr));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   202
+   { if(csaddr)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   203
+        free(csaddr);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   204
+     csaddr=malloc(res->ai_addrlen);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   205
+     tmemmove(csaddr,res->ai_addr,res->ai_addrlen);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   206
+     tmemmove(&cai,res,sizeof(cai));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   207
+     freeaddrinfo(res);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   208
+   }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   209
   offguard();
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   210
   return newvalid;
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   211
 }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   212
@@ -132,8 +109,8 @@
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   213
    }
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   214
   strlcat(buf,COMSATxtrsep,linebuf);			 /* custom seperator */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   215
   strlcat(buf,p,linebuf);			  /* where was it delivered? */
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   216
-  if((s=socket(AF_INET,SOCK_DGRAM,UDP_protocolno))>=0)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   217
-   { sendto(s,buf,strlen(buf),0,(struct sockaddr*)&csaddr,sizeof(csaddr));
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   218
+  if((s=socket(cai.ai_family,cai.ai_socktype,cai.ai_protocol))>=0)
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   219
+   { sendto(s,buf,strlen(buf),0,csaddr,cai.ai_addrlen);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   220
      rclose(s);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   221
      yell("Notified comsat:",buf);
138732f62341 17219320 Various Userland components should be back-ported to 11.2
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   222
    }