aboutsummaryrefslogtreecommitdiff
path: root/mail/libspf2/files/patch-src_spf__example_spf__example.c
blob: 15199e724c20036d230ece6e5e5925b1924e21eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
--- src/spf_example/spf_example.c.orig	Mon Mar 28 14:17:20 2005
+++ src/spf_example/spf_example.c	Mon Mar 28 14:22:46 2005
@@ -206,7 +206,7 @@
 	 * destroyed when you are finished.
 	 */
 
-	spf_server = SPF_server_new(SPF_DNS_CACHE, 1);
+	spf_server = SPF_server_new(SPF_DNS_CACHE, opt_debug);
 
 	if (spf_server == NULL) {
 		fprintf( stderr, "SPF_create_config failed.\n" );
@@ -264,10 +264,24 @@
 	 * message.
 	 */
 
-	if ( SPF_request_set_helo_dom( spf_request, opt_helo ) ) {
-		printf( "Invalid HELO domain.\n" );
-		res = 255;
-		goto error;
+	if (opt_helo == NULL) {
+		if (opt_sender != NULL) {
+			if (strstr(opt_sender, "@") != NULL) {
+				opt_helo = strdup(strstr(opt_sender, "@") + 1);
+
+				if ( SPF_request_set_helo_dom( spf_request, opt_helo ) ) {
+					printf( "Invalid HELO domain.\n" );
+					res = 255;
+					goto error;
+				}
+			}
+		}
+	} else {
+		if ( SPF_request_set_helo_dom( spf_request, opt_helo ) ) {
+			printf( "Invalid HELO domain.\n" );
+			res = 255;
+			goto error;
+		}
 	}
 
 	/*