--- 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
@@ -90,17 +90,17 @@
"\n"
"Valid data options are:\n"
" -i <IP address> The IP address that is sending email\n"
- " -s <email address> The email address used as the\n"
- " envelope-from. If no username (local\n"
- " part) is given, 'postmaster' will be\n"
- " assumed.\n"
- " -r <email address> [optional] The email address used as\n"
- " the envelope-to email address, for\n"
- " secondary-MX checking.\n"
- " -h <domain name> The domain name given on the SMTP HELO\n"
- " command. This is only needed if the\n"
- " -sender option is not given.\n"
- " -d [debug level] debug level.\n"
+ " -s <email address> The email address used as the\n"
+ " envelope-from. If no username (local\n"
+ " part) is given, 'postmaster' will be\n"
+ " assumed.\n"
+ " -r <email address> [optional] The email address used as\n"
+ " the envelope-to email address, for\n"
+ " secondary-MX checking.\n"
+ " -h <domain name> The domain name given on the SMTP HELO\n"
+ " command. This is only needed if the\n"
+ " -sender option is not given.\n"
+ " -d [debug level] debug level.\n"
);
}
@@ -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;
+ }
}
/*
syntax highlighted by Code2HTML, v. 0.9.1