dean@truevision.com (Dean Riddlebarger) (09/19/90)
Okay, I've hit a roadblock here. I snarfed the smail3.1.19 package, got it compiled with the default config, and now absolutely nothing happens. Background: The test compile is on a 386 box running ISC UNIX 2.0.2, and the machine should be able to see the primary mail server [another 386 running ISC UNIX] via the ethernet. The hosts file is up to date, and I've had no trouble with mail transfer using ISC's sendmail. [Well, no trouble in that it will work, but doesn't handle load well. There have been discussions of this before....] When I invoke smail in test mode, and feed it an address like: dean@foobar I would expect it to decide to use the smtp connection to the server [foobar in this example], and get a target of foobar, a transport mechanism of smtp, and a user of dean. This does not occur. With verbose mode on the following output is seen: preparse_address(dean@foobar) entry: preparse_address returns: dean@foobar parse_address called: address=dean@foobar parse_address: MAILBOX: target=foobar, remainder=dean route_remote_addrs called rtd_pathalias called rtd_uuname called rtd_smarthost called parse_address called: address=dean parse_address: LOCAL: remainder=dean dean@foobar ... failed: unknown host Any hints? I've been reading TFM amidst other interruptions in the office, but I can't get down into the innards right now. So if it appears to be something obvious, I'd love the feedback. Thanks! -- <:> Dean Riddlebarger "The bus came by <:> <:> MIS Manager - Truevision, Inc. and I got on, <:> <:> [317] 841-0332 That's when it <:> <:> uucp: uunet!epicb!dean dean@truevision.com all began." <:>
les@chinet.chi.il.us (Leslie Mikesell) (09/20/90)
In article <411@epicb.com> dean@truevision.com (Dean Riddlebarger) writes: >Okay, I've hit a roadblock here. I snarfed the smail3.1.19 package, >got it compiled with the default config, and now absolutely nothing >happens. >Background: The test compile is on a 386 box running ISC UNIX 2.0.2, >and the machine should be able to see the primary mail server [another >386 running ISC UNIX] via the ethernet. The generic sys5.3 setup doesn't include the TCP/IP routines (for obvious reasons). You need to change conf/EDITME, setting OS_TYPE to a version that matches your system. See conf/os/sys5.3+cmc for an example of how to define your network libs etc. Les Mikesell les@chinet.chi.il.us
karl@naitc.naitc.com (Karl Denninger) (09/20/90)
In article <411@epicb.com> dean@truevision.com (Dean Riddlebarger) writes: >Okay, I've hit a roadblock here. I snarfed the smail3.1.19 package, >got it compiled with the default config, and now absolutely nothing >happens. > >Background: The test compile is on a 386 box running ISC UNIX 2.0.2, >and the machine should be able to see the primary mail server [another >386 running ISC UNIX] via the ethernet. The hosts file is up to >date, and I've had no trouble with mail transfer using ISC's sendmail. >[Well, no trouble in that it will work, but doesn't handle load well. >There have been discussions of this before....] > >When I invoke smail in test mode, and feed it an address like: > >dean@foobar > >I would expect it to decide to use the smtp connection to the server >[foobar in this example], and get a target of foobar, a transport >mechanism of smtp, and a user of dean. This does not occur. With >verbose mode on the following output is seen: > >preparse_address(dean@foobar) entry: >preparse_address returns: dean@foobar >parse_address called: address=dean@foobar >parse_address: MAILBOX: target=foobar, remainder=dean >route_remote_addrs called >rtd_pathalias called >rtd_uuname called >rtd_smarthost called >parse_address called: address=dean >parse_address: LOCAL: remainder=dean >dean@foobar ... failed: unknown host > >Any hints? I've been reading TFM amidst other interruptions in the >office, but I can't get down into the innards right now. So if it >appears to be something obvious, I'd love the feedback. > >Thanks! A couple of things. First, you really ought to should want to (:-) use the configuration file option in the lib directory. Ours (/usr/lib/smail/config) looks something like this: # @(#)config 1.4 10/2/88 09:20:06 # This file defines the default state for all variables that can be # set in the smail config file. By modifying either the source file # src/config.h or conf/EDITME the actual default state can be changed. # Thus, this should be matched up against these two files before # assuming it is completely correct. # Note: The following line is VERY important! -smtp_debug # +auto_mkdir auto_mkdir_mode = 0755 console = /dev/console copying_file = COPYING date_field = "Date: $date" delivery_mode = background director_file = directors # +flock_mailbox # under 4.3BSD -flock_mailbox # otherwise fnlock_interval = 5 fnlock_mode = 0666 fnlock_retries = 3 grades = "special-delivery:9:air-mail:A:first-class:C:bulk:a:junk:n" hit_table_len = 241 -hostnames -lock_by_name # on BSD systems or System V.2/V.3 # +lock_by_name # otherwise lock_mode = 0444 log_mode = 0644 logfile = /usr/spool/smail/log/logfile max_hop_count = 20 -max_load_ave max_message_size = 100k # message_buf_size = 4096 # for machines with small memories message_buf_size = 100k # otherwise message_id_field = "Message-Id: <$message_id@$primary_name>" message_log_mode = 0664 method_dir = methods -more_hostnames nobody = nobody # under 4.3BSD or SunOS # nobody = guest # another possibility open_interval = 2 open_retries = 0 # if an atomic rename() is available # open_retries = 2 # otherwise paniclog = /usr/spool/smail/log/paniclog postmaster_address = root -queue_only received_field = "Received: by $primary_name ($version_string) id <$message_id@$primary_name>; $spool_date" -require_configs return_path_field = "Return-Path: <$sender>" router_file = routers -second_config_file smail = /usr/lib/sendmail smail_lib_dir = /usr/lib/smail -smart_path -smart_transport -smart_user spool_dirs = /usr/spool/smail spool_grade = C # spool_mode = 0640 # under System V spool_mode = 0440 # otherwise transport_file = transports -trusted uucp_name = naitc visible_domains = naitc.com:uucp -visible_name Note the "visible_domains" declaration in there. This file, among other things, let's you see what you're up to and allows easy changes. Well worth having. Next, make sure /etc/resolv.conf contains: domain naitc.com nameserver 138.108.10.10 This is providing that you have a nameserver for your organization, of course, and that it's address is 138.108.10.10. If you don't, you might want: domain naitc.com nonameserver This makes sure that names such as "foobar" get the domain added to them, and that "foobar.foo.com" match as well. Next, you might want a /usr/lib/smail/routers file of something like this: # @(#)routers 1.3 7/8/88 00:45:03 # This file defines the configuration of the router subsystem as # compiled into the smail binary. By modifying the source files # conf/EDITME, src/config.h or src/default.c the actual internal # configuration can be changed. Thus, this should be matched up # against thes files before assuming this is completely correct. # inet_addrs and inet_hosts are only defined when BSD networking exists # inet_addrs - match domain literals containing literal IP addresses # # For example, [128.103.1.1] will match harvard.harvard.edu on the internet. # The library routine gethostbyaddr(3N) will be called to see if a reverse # mapping to the cononical hostname is available. inet_addrs: driver = gethostbyaddr, # router to match IP domain literals transport = smtp; # deliver using SMTP over TCP/IP fail_if_error, # fail malformed domain literal addrs check_for_local # see if this is really the local host # inet_hosts - match hostnames with gethostbyname(3N) inet_hosts: driver = gethostbyname, # match hosts with the library function # driver = bind, # match hosts with nameserver transport = smtp # uucp_neighbors - match neighbors accessible over UUCP uucp_neighbors: driver = uuname, # use a program which returns neighbors transport = uux; cmd = /usr/bin/uuname, # specifically, use the uuname program domain = uucp # paths - route using a paths file, like that produced by the pathalias program paths: driver = pathalias, # general-use paths router transport = uux; # for matches, deliver over UUCP file = /usr/lib/smail/paths, # sorted file containing path info proto = bsearch, # use a binary search optional, # ignore if the file does not exist domain = uucp # strip ending ".uucp" before searching # smart_host - a partically specified smarthost director # # If the config file attribute smart_path is defined as a path from the # local host to a remote host, then hostnames not matched otherwise will # be sent off to the stated remote host. The config file attribute # smart_transport can be used to specify a different transport. # # If the smart_path attribute is not defined, this router is ignored. smart_host: driver = smarthost, # special-case driver transport = uux # by default deliver over UUCP The "inet_hosts" entry there will use "gethostbyname" to get the ip address to deliver to (or try to anyway). If you do not have a nameserver declared in /etc/resolv.conf, this works off the /etc/hosts file. If you DO have one declared, this routine will automatically use it. The "bind" option is a little smarter, and knows about things like "MX" records, but you have to build smail with that library for the option "bind" to work. This is what we use here, and it has performed flawlessly for me. -- Karl Denninger AC Nielsen kdenning@ksun.naitc.com (708) 317-3285 Disclaimer: Contents represent opinions of the author; I do not speak for AC Nielsen on Usenet.