qmail Digest 26 May 1999 10:00:01 -0000 Issue 652

Topics (messages 25991 through 26023):

Signiatures
        25991 by: "Paul Tomlin" <[EMAIL PROTECTED]>

qmailanalog stats question
        25992 by: "Ralf Guenthner" <[EMAIL PROTECTED]>

Congrats to Dave Sill
        25993 by: ivan <[EMAIL PROTECTED]>

rcpthost question
        25994 by: Neil Aggarwal <[EMAIL PROTECTED]>
        25995 by: "Soffen, Matthew" <[EMAIL PROTECTED]>
        25997 by: Neil Aggarwal <[EMAIL PROTECTED]>
        25998 by: "Soffen, Matthew" <[EMAIL PROTECTED]>

having trouble authenticating.  Driving me insane.  Please help!
        25996 by: [EMAIL PROTECTED]

probs. compiling
        25999 by: Jörgen Persson <[EMAIL PROTECTED]>
        26001 by: Dave Sill <[EMAIL PROTECTED]>
        26002 by: smurf <[EMAIL PROTECTED]>
        26004 by: Joergen Persson <[EMAIL PROTECTED]>
        26008 by: Faried Nawaz <[EMAIL PROTECTED]>
        26010 by: Joergen Persson <[EMAIL PROTECTED]>

qmail and lotus notes
        26000 by: [EMAIL PROTECTED]
        26003 by: Markus Stumpf <[EMAIL PROTECTED]>
        26005 by: Dave Sill <[EMAIL PROTECTED]>

estatistic
        26006 by: Juliana Romano <[EMAIL PROTECTED]>
        26007 by: Dave Sill <[EMAIL PROTECTED]>

smtp survey
        26009 by: Peter van Dijk <[EMAIL PROTECTED]>

pop3 - no $HOME/Maildir
        26011 by: Peter Gradwell <[EMAIL PROTECTED]>
        26012 by: Peter Gradwell <[EMAIL PROTECTED]>
        26013 by: Mahlon Smith <[EMAIL PROTECTED]>
        26014 by: Markus Stumpf <[EMAIL PROTECTED]>

.. a few hours with qmail-pop3d
        26015 by: Peter Gradwell <[EMAIL PROTECTED]>
        26017 by: Markus Stumpf <[EMAIL PROTECTED]>

Envelope env variables
        26016 by: Paul Farber <[EMAIL PROTECTED]>
        26022 by: Harald Hanche-Olsen <[EMAIL PROTECTED]>

queued (delayed) mail
        26018 by: "Andrew Gray" <[EMAIL PROTECTED]>

Sending to one host while rewriting the address' domain to anothe r
        26019 by: "Robertson, William" <[EMAIL PROTECTED]>

Where do I subscribe to the ezmlm maillist ?
        26020 by: Per Birkeby <[EMAIL PROTECTED]>
        26021 by: Jason Brooke <[EMAIL PROTECTED]>

couldn't find host
        26023 by: Wilson Fletcher <[EMAIL PROTECTED]>

Administrivia:

To subscribe to the digest, e-mail:
        [EMAIL PROTECTED]

To unsubscribe from the digest, e-mail:
        [EMAIL PROTECTED]

To bug my human owner, e-mail:
        [EMAIL PROTECTED]

To post to the list, e-mail:
        [EMAIL PROTECTED]


----------------------------------------------------------------------


Well, 
I want the server to dynamically generate the signiature...

:)

Paul

>In fact, that's kind of covered in FAQ - just see the "How do I fix the 
>messages from broken clients" part; if your client doesn't insert a 
>signature, it is broken (well, kind of) :-)





Hi list

Does anyone disagree that -judging by the stats shown below- there's currently no 
reason to worry about an overloaded qmail system? I think ddelay looks good and 
average concurrency too, but then I have no comparison....

Total delivery attempts: 5998
  success: 5649
  failure: 56
  deferral: 293
Total ddelay (s): 320083.112723
Average ddelay per success (s): 56.661907
Total xdelay (s): 92320.138456
Average xdelay per delivery attempt (s): 15.391820
Time span (days): 7.1641
Average concurrency: 0.149149

Regards
Ralf G.







That's right. :") Count me too. Keep the good work Dave.
I'm still waiting for -alias desc. etc ... 
and checking it periodicaly, all others do this too .....

>Just wanted to make a mention to everyone on the list, that Dave Sill's
>recent work with 'life with qmail' is much appreciated and is a VERY
>informative collection of information. He should be commended. In the very
>short time that it has been up, it has been a very valuable source to
>point people to.
>
>Thank you very much Dave.





Hello:

I have a domain JAMMConsulting.com hosted with an ISP.

I have set-up a Redhat linux 5.3 system with qmail that
I am going to transfer the domain to.

So, when I set-up qmail, I put JAMMConsuling.com in the
rcpthosts file.

I tried to test it by sending an email to [EMAIL PROTECTED]
from that machine.  I asumed that it would go to neil on that
machine, but it went to the account on the other ISP.

This is not what I expected.  Will everything be OK
when I transfer the domain?  Will I be able to receive
email to [EMAIL PROTECTED] on this new machine if I have
a login neil on it?

Thanks,
        Neil.


-- 
 **We pay a 5% finders fee for job referrals that lead to a contract*
 --------------------------------------------------------------------
 |Neil Aggarwal          |JAMM Consulting, Inc. |Custom Programming |
 |President & CEO        |www.JAMMConsulting.com|Java, C, C++, perl,|
 |[EMAIL PROTECTED]|(972) 612-6056        |HTML, CGI          |
 --------------------------------------------------------------------
begin:vcard 
n:Aggarwal;Neil
tel;work:(972) 612-6056
x-mozilla-html:TRUE
url:http://www.JAMMConsulting.com
org:JAMM Consulting, Inc.
version:2.1
email;internet:[EMAIL PROTECTED]
title:President & CEO
adr;quoted-printable:;;7575 Frankford Rd #724=0D=0A;Dallas;Texas;75252;USA
note;quoted-printable:JAMM Consulting, Inc. is a full-service consulting and programming =0D=0Acompany dedicated to your projects in Java, C, C++, perl and HTML. =0D=0APlease contact us for more information.
fn:Neil Aggarwal
end:vcard




Did you also make sure that you had jammconsulting.com in the locals
file ?  Otherwise it will accept mail for the domain, but it will
forward it to the other account.



> -----Original Message-----
> From: Neil Aggarwal [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, May 25, 1999 11:19 AM
> To:   qmail mailing list
> Subject:      rcpthost question
> 
> Hello:
> 
> I have a domain JAMMConsulting.com hosted with an ISP.
> 
> I have set-up a Redhat linux 5.3 system with qmail that
> I am going to transfer the domain to.
> 
> So, when I set-up qmail, I put JAMMConsuling.com in the
> rcpthosts file.
> 
> I tried to test it by sending an email to [EMAIL PROTECTED]
> from that machine.  I asumed that it would go to neil on that
> machine, but it went to the account on the other ISP.
> 
> This is not what I expected.  Will everything be OK
> when I transfer the domain?  Will I be able to receive
> email to [EMAIL PROTECTED] on this new machine if I have
> a login neil on it?
> 
> Thanks,
>       Neil.
> 
> 
> -- 
>  **We pay a 5% finders fee for job referrals that lead to a contract*
>  --------------------------------------------------------------------
>  |Neil Aggarwal          |JAMM Consulting, Inc. |Custom Programming |
>  |President & CEO        |www.JAMMConsulting.com|Java, C, C++, perl,|
>  |[EMAIL PROTECTED]|(972) 612-6056        |HTML, CGI          |
>  --------------------------------------------------------------------
> << File: Card for Neil Aggarwal >> 




> Did you also make sure that you had jammconsulting.com in the locals
> file ?  Otherwise it will accept mail for the domain, but it will
> forward it to the other account.

That was my problem.  Obviously, I am still now to this.

Another question:  Do you know how to alias an email address?
Ie: If someone send email to [EMAIL PROTECTED], 
I want it delivered to the neil account.

Moreover, is there a way to do this:
        When a piece of mail comes to the machine, by any of its 
        names, do this:
                1. Check if it is to login on that machine.  If
                        so, deliver it.
                2. If it is for a non-existant login, send to 
                        a speciified account.   

Thanks,
        Neil.


 **We pay a 5% finders fee for job referrals that lead to a contract*
 --------------------------------------------------------------------
 |Neil Aggarwal          |JAMM Consulting, Inc. |Custom Programming |
 |President & CEO        |www.JAMMConsulting.com|Java, C, C++, perl,|
 |[EMAIL PROTECTED]|(972) 612-6056        |HTML, CGI          |
 --------------------------------------------------------------------
begin:vcard 
n:Aggarwal;Neil
tel;work:(972) 612-6056
x-mozilla-html:TRUE
url:http://www.JAMMConsulting.com
org:JAMM Consulting, Inc.
version:2.1
email;internet:[EMAIL PROTECTED]
title:President & CEO
adr;quoted-printable:;;7575 Frankford Rd #724=0D=0A;Dallas;Texas;75252;USA
note;quoted-printable:JAMM Consulting, Inc. is a full-service consulting and programming =0D=0Acompany dedicated to your projects in Java, C, C++, perl and HTML. =0D=0APlease contact us for more information.
fn:Neil Aggarwal
end:vcard




This is an FAQ question.

You create a ~alias/.qmail-webmaster file which contains one line
(&neil).

To handle all non-user addresses you create a ~alias/.qmail-default
which contains the address you wish to receive the bad/bogus mail.


> -----Original Message-----
> From: Neil Aggarwal [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, May 25, 1999 11:32 AM
> To:   Soffen, Matthew; qmail mailing list
> Subject:      Re: rcpthost question
> 
> > Did you also make sure that you had jammconsulting.com in the locals
> > file ?  Otherwise it will accept mail for the domain, but it will
> > forward it to the other account.
> 
> That was my problem.  Obviously, I am still now to this.
> 
> Another question:  Do you know how to alias an email address?
> Ie: If someone send email to [EMAIL PROTECTED], 
> I want it delivered to the neil account.
> 
> Moreover, is there a way to do this:
>       When a piece of mail comes to the machine, by any of its 
>       names, do this:
>               1. Check if it is to login on that machine.  If
>                       so, deliver it.
>               2. If it is for a non-existant login, send to 
>                       a speciified account.   
> 
> Thanks,
>       Neil.
> 
> 
>  **We pay a 5% finders fee for job referrals that lead to a contract*
>  --------------------------------------------------------------------
>  |Neil Aggarwal          |JAMM Consulting, Inc. |Custom Programming |
>  |President & CEO        |www.JAMMConsulting.com|Java, C, C++, perl,|
>  |[EMAIL PROTECTED]|(972) 612-6056        |HTML, CGI          |
>  --------------------------------------------------------------------
> << File: Card for Neil Aggarwal >> 





This is the second machine now and I don't know what's causing the problem
and I need help.

Users, both virtual and real cannot authenticate through pop.  I'm using
vmailmgr's checkvpw with pop3.  Here's an strace from one of the pop
sessions:

[root@ert /root]# strace -p 23134
select(1, [0], NULL, NULL, {1165, 960000}) = 1 (in [0], left {1156,
90000})
read(0, "USER test\r\n", 128)        = 14
select(2, NULL, [1], NULL, {1200, 0})   = 1 (out [1], left {1200, 0})
write(1, "+OK \r\n", 6)                 = 6
select(1, [0], NULL, NULL, {1200, 0})   = 1 (in [0], left {1195, 160000})
read(0, "PASS testing\r\n", 128)       = 15
fcntl(1, F_GETFL)                       = 0x2 (flags O_RDWR)
close(2)                                = 0
fcntl(1, F_DUPFD, 2)                    = 2
close(3)                                = -1 EBADF (Bad file descriptor)
pipe([3, 4])                            = 0
fork()                                  = 23155
close(3)                                = 0
write(4, "test\testing\0<23134.927645"..., 53) = 53
close(4)                                = 0
--- SIGCHLD (Child exited) ---
wait4(23155, [WIFEXITED(s) && WEXITSTATUS(s) == 1], 0, NULL) = 23155
select(2, NULL, [1], NULL, {1200, 0})   = 1 (out [1], left {1200, 0})
write(1, "-ERR authorization failed\r\n", 27) = 27
_exit(1)                                = ?

The password is definitely set correctly.  This is a system with shadow
using pam'd md5 hash as well.  I cannot figure it out.  There's other
machines with identical setups working fine.

Thanks.






Hi
I tried to compile Qmail-1.03 under Mac OS X and there was some
problems. Unfortunately I'm no cc-guru, maybe some of you are.

During "make setup check" I was told

[lot of output]
./compile auto-str.c
./load auto-str substdio.a error str.a
/usr/bin/ld: can't use -s with input files containing indirect symbols
(output file must contain at least global symbols, for maximum stripping
use -x)
make: *** [auto-str] Error 1

Any idea?

>From the manual for the GNU linker
-s   Omits all symbol information from the output file.
-x   Delete all local symbols

>From the manual for the Apple linker
-s   Completely strip the output; that is, remove the symbol table and
relocation information.
-x   Strips the non-global symbols; only saves external symbols.

I'm attatching the entire output from the "make" and the manual for the
Apple linker.

-- 
Jörgen Persson
Sysadmin, Teknologkåren vid LTH
( cat warn-auto.sh; \
echo CC=\'`head -1 conf-cc`\'; \
echo LD=\'`head -1 conf-ld`\' \
) > auto-ccld.sh
cat auto-ccld.sh make-load.sh > make-load
chmod 755 make-load
cat auto-ccld.sh find-systype.sh > find-systype
chmod 755 find-systype
./find-systype > systype
( cat warn-auto.sh; ./make-load "`cat systype`" ) > load
chmod 755 load
cat auto-ccld.sh make-compile.sh > make-compile
chmod 755 make-compile
( cat warn-auto.sh; ./make-compile "`cat systype`" ) > \
compile
chmod 755 compile
( ( ./compile tryvfork.c && ./load tryvfork ) >/dev/null \
2>&1 \
&& cat fork.h2 || cat fork.h1 ) > fork.h
rm -f tryvfork.o tryvfork
./compile qmail-local.c
./compile qmail.c
./compile quote.c
./compile now.c
./compile gfrom.c
./compile myctime.c
./compile slurpclose.c
cat auto-ccld.sh make-makelib.sh > make-makelib
chmod 755 make-makelib
( cat warn-auto.sh; ./make-makelib "`cat systype`" ) > \
makelib
chmod 755 makelib
./compile case_diffb.c
./compile case_diffs.c
./compile case_lowerb.c
./compile case_lowers.c
./compile case_starts.c
./makelib case.a case_diffb.o case_diffs.o case_lowerb.o \
case_lowers.o case_starts.o
./compile getln.c
./compile getln2.c
./makelib getln.a getln.o getln2.o
./compile subgetopt.c
./compile sgetopt.c
./makelib getopt.a subgetopt.o sgetopt.o
./compile sig_alarm.c
( ( ./compile trysgprm.c && ./load trysgprm ) >/dev/null \
2>&1 \
&& echo \#define HASSIGPROCMASK 1 || exit 0 ) > hassgprm.h
rm -f trysgprm.o trysgprm
./compile sig_block.c
( ( ./compile trysgact.c && ./load trysgact ) >/dev/null \
2>&1 \
&& echo \#define HASSIGACTION 1 || exit 0 ) > hassgact.h
rm -f trysgact.o trysgact
./compile sig_catch.c
./compile sig_pause.c
./compile sig_pipe.c
./compile sig_child.c
./compile sig_hup.c
./compile sig_term.c
./compile sig_bug.c
./compile sig_misc.c
./makelib sig.a sig_alarm.o sig_block.o sig_catch.o \
sig_pause.o sig_pipe.o sig_child.o sig_hup.o sig_term.o \
sig_bug.o sig_misc.o
./compile open_append.c
./compile open_excl.c
./compile open_read.c
./compile open_trunc.c
./compile open_write.c
./makelib open.a open_append.o open_excl.o open_read.o \
open_trunc.o open_write.o
./compile seek_cur.c
./compile seek_end.c
./compile seek_set.c
./compile seek_trunc.c
./makelib seek.a seek_cur.o seek_end.o seek_set.o \
seek_trunc.o
( ( ./compile tryflock.c && ./load tryflock ) >/dev/null \
2>&1 \
&& echo \#define HASFLOCK 1 || exit 0 ) > hasflock.h
rm -f tryflock.o tryflock
./compile lock_ex.c
./compile lock_exnb.c
./compile lock_un.c
./makelib lock.a lock_ex.o lock_exnb.o lock_un.o
./compile fd_copy.c
./compile fd_move.c
./makelib fd.a fd_copy.o fd_move.o
( ( ./compile trywaitp.c && ./load trywaitp ) >/dev/null \
2>&1 \
&& echo \#define HASWAITPID 1 || exit 0 ) > haswaitp.h
rm -f trywaitp.o trywaitp
./compile wait_pid.c
./compile wait_nohang.c
./makelib wait.a wait_pid.o wait_nohang.o
./compile env.c
./compile envread.c
./makelib env.a env.o envread.o
./compile stralloc_eady.c
./compile stralloc_pend.c
./compile stralloc_copy.c
./compile stralloc_opys.c
./compile stralloc_opyb.c
./compile stralloc_cat.c
./compile stralloc_cats.c
./compile stralloc_catb.c
./compile stralloc_arts.c
./makelib stralloc.a stralloc_eady.o stralloc_pend.o \
stralloc_copy.o stralloc_opys.o stralloc_opyb.o \
stralloc_cat.o stralloc_cats.o stralloc_catb.o \
stralloc_arts.o
./compile alloc.c
./compile alloc_re.c
./makelib alloc.a alloc.o alloc_re.o
./compile strerr_sys.c
./compile strerr_die.c
./makelib strerr.a strerr_sys.o strerr_die.o
./compile substdio.c
./compile substdi.c
./compile substdo.c
./compile subfderr.c
./compile subfdout.c
./compile subfdouts.c
./compile subfdin.c
./compile subfdins.c
./compile substdio_copy.c
./makelib substdio.a substdio.o substdi.o substdo.o \
subfderr.o subfdout.o subfdouts.o subfdin.o subfdins.o \
substdio_copy.o
./compile error.c
./compile error_str.c
./compile error_temp.c
./makelib error.a error.o error_str.o error_temp.o
./compile str_len.c
./compile str_diff.c
./compile str_diffn.c
./compile str_cpy.c
./compile str_chr.c
./compile str_rchr.c
./compile str_start.c
./compile byte_chr.c
./compile byte_rchr.c
./compile byte_diff.c
./compile byte_copy.c
./compile byte_cr.c
./compile byte_zero.c
./makelib str.a str_len.o str_diff.o str_diffn.o str_cpy.o \
str_chr.o str_rchr.o str_start.o byte_chr.o byte_rchr.o \
byte_diff.o byte_copy.o byte_cr.o byte_zero.o
./compile fmt_str.c
./compile fmt_strn.c
./compile fmt_uint.c
./compile fmt_uint0.c
./compile fmt_ulong.c
./compile scan_ulong.c
./compile scan_8long.c
./makelib fs.a fmt_str.o fmt_strn.o fmt_uint.o fmt_uint0.o \
fmt_ulong.o scan_ulong.o scan_8long.o
./compile datetime.c
./compile datetime_un.c
./makelib datetime.a datetime.o datetime_un.o
./compile auto-str.c
./load auto-str substdio.a error.a str.a 
/usr/bin/ld: can't use -s with input files containg indirect symbols (output file must 
contain at least global symbols, for maximum stripping use -x)
make: *** [auto-str] Error 1



LD(1)                                                       LD(1)


NNAAMMEE
       ld - Mach object file link editor

SSYYNNOOPPSSIISS
       lldd [ _o_p_t_i_o_n _._._.  ] [ _f_i_l_e _._._.  ]

DDEESSCCRRIIPPTTIIOONN
       The _l_d command combines several Mach-O (Mach object) files
       into one by combining like sections in like segments  from
       all  the  object files, resolving external references, and
       searching libraries.  In the simplest case several  object
       _f_i_l_e_s are given, and _l_d combines them, producing an object
       file which can either be executed or become the input  for
       a further _l_d run.  (In the latter case, the --rr option must
       be given to preserve the relocation information.)   Unless
       an  output  file  is  specified,  _l_d produces a file named
       aa..oouutt.  This file is made executable  only  if  no  errors
       occurred  during  the  link editing and there are no unde-
       fined symbols.

FFAATT FFIILLEE SSUUPPPPOORRTT
       The link editor  accepts  ``fat''  (multiple-architecture)
       input  files, but always creates a ``thin'' (single-archi-
       tecture), standard Mach-O output file.   The  architecture
       is  specified  using the --aarrcchh  _a_r_c_h___t_y_p_e option.  
If this
       option is not used, _l_d(1) attempts to determine the output
       architecture  by  examining  the first object file encoun-
       tered on the command line.  If it is a ``thin'' file,  its
       architecture  determines  that of the output file.  If the
       first input file is a ``fat'' file, the ``best'' architec-
       ture  for  the  host is used.  (See the explanation of the
       --aarrcchh option, below.)

       The compiler driver _c_c(1) handles creating fat executables
       by  calling _l_d(1) multiple times and using _l_i_p_o(1) to cre-
       ate a ``fat'' file from the results of  the  _l_d(1)  execu-
       tions.

OOUUTTPPUUTT FFIILLEE LLAAYYOOUUTT
       The object files are loaded in the order in which they are
       specified on the command line.  The segments and the  sec-
       tions  in those segments will appear in the output file in
       the order they are encountered in the object  files  being
       linked.  All zero fill sections will appear after all non-
       zero fill sections in their segments.

       Sections created from files with  the  --sseeccttccrreeaattee  option
       will  appear  in  the output file last.  Section names for
       sections created from files are  not  allowed  to  overlap
       with  a section name in the same segment as a section com-
       ing from an object file.  Sections created from files  may
       be  in  a segment which has sections from object files and
       if so will be loaded at the end of the non-zero fill  sec-
       tions for that segment.



Apple Computer, Inc.      April 10, 1997                        1





LD(1)                                                       LD(1)


       If  the  option  --sseegglliinnkkeeddiitt is specified, the segment 
it
       creates is the last segment in the output file.

       The  address  of  each  segment  can  be  specified   with
       --sseeggaaddddrr,,  which  takes the segment's name as an argument.
       The address of the  first  segment  can  alternatively  be
       specified using --sseegg11aaddddrr,, in which case a segment name is
       not used.  Segments that do not have a  specified  address
       will  be  assigned  addresses  in  the order in which they
       appear in the output file.  A segment's  address  will  be
       assigned  based on the ending address of the previous seg-
       ment.  If the address of the first segment  has  not  been
       specified by name, its assigned address will be the speci-
       fied (via --sseegg11aaddddrr) or default first segment address.  If
       neither  flag  is  used  to  specify  the  first segment's
       address, its default  address  is  zero  for  all  formats
       except the demand-paged executable format (MH_EXECUTE), in
       which case the default first address is the value  of  the
       segment alignment.

       For  demand-paged  executable  format  (MH_EXECUTE) output
       files, if none of the segments' addresses  covers  address
       zero through the value of the segment alignment, a segment
       with no access protection will be created to  cover  those
       addresses.  This segment, named ``__PAGEZERO'', is created
       so that any attempt to dereference  a  NULL  pointer  will
       cause a memory exception.

       The entry point of the output file is the beginning of the
       first section in the first segment (unless the  --ee  option
       is specified).

SSTTAATTIICC AARRCCHHIIVVEE LLIIBBRRAARRIIEESS
       _l_d   supports  two  types  of  libraries:  static  archive
       libraries and  dynamic  shared  libraries.  Searching  for
       undefined  symbols  is  peformed  differently  for dynamic
       shared libraries than it is for static archive  libraries.
       The  searching  of  dynamic  shared libraries is described
       later.

       When a static archive library is specified as an  argument
       to  _l_d,  it  is  searched exactly once, at the point it is
       encountered in the  argument  list.   Only  those  members
       defining  an  unresolved external reference, as defined by
       the static archive libary's table of contents, are loaded.
       To  produce  the  table  of  contents,  all static archive
       libraries must be processed by _r_a_n_l_i_b(1).

       Generally, a static archive library does not have multiple
       members  that  define the same symbol.  For these types of
       libraries, the order of the members is not  important,  so
       the  table of contents can be sorted for faster link edit-
       ing using the --ss option to _r_a_n_l_i_b(1).  The first member of
       the  static archive library is named ``__.SYMDEF SORTED'',



Apple Computer, Inc.      April 10, 1997                        2





LD(1)                                                       LD(1)


       which is understood to be a sorted table of contents.

       If the static archive library does have  multiple  members
       that  define  the  same symbol, the table of contents that
       _r_a_n_l_i_b(1) produces can't be sorted.  Instead,  it  follows
       the  order  in  which  the  members  appear  in the static
       archive library.  The link editor searches  the  table  of
       contents  iteratively,  loading  members  until no further
       references are satisfied.  In the unsorted case, the first
       member   of   the   static   archive   library   is  named
       ``__.SYMDEF'', which is understood to be a table  of  con-
       tents in the order of the archive members.

       Static  archive  library  members  can  also  be loaded in
       response to the  --OObbjjCC  and  --aallll__llooaadd  flags.  See 
 their
       descriptions below.


DDYYNNAAMMIICC SSHHAARREEDD LLIIBBRRAARRIIEESS
       When  a  dynamic shared library or an object file that was
       linked against a dynamic shared library is specified as an
       argument  to  _l_d,  that  library  is placed in the dynamic
       shared library search list. The order of the  search  list
       is always the same order the libraries were encountered on
       the command line. All dynamic libraries libraries that the
       dynamic  libraries are dependent upon are added to the end
       of the search list.

       Once the search list is constructed, the static link  edi-
       tor checks for undefined symbols by simulating the way the
       dynamic linker will search for undefined symbols  at  run-
       time.  For  each  undefined symbol, the static link editor
       searches each library in the search list until it finds  a
       module  that defines the symbol.  With each undefined sym-
       bol, the search starts with the first library in the list.
       This is different than for static archive libraries, where
       each library is searched exactly once  for  all  undefined
       symbols.

       The static link editor simulates dynamic linking as if all
       the undefined symbols are to be bound  at  program  launch
       time.  The dynamic linker actually binds undefined symbols
       as they are encountered during  execution  instead  of  at
       program  launch.  However,  the  static link editor always
       produces the same linking as the dynamic linker as long as
       none  of the dynamic shared libraries define the same sym-
       bol. Different linking can occur only when there  is  more
       than  one  definition  of a symbol and the library modules
       that contain the definitions for that symbol do not define
       and  reference  exactly  the  same symbols.  In this case,
       even different executions of the same program can  produce
       different  linking  because the dynamic linker binds unde-
       fined functions as they are called, and this  affects  the
       order  in  which  undefined symbols are bound.  Because it



Apple Computer, Inc.      April 10, 1997                        3





LD(1)                                                       LD(1)


       can  produce  different  dynamic  linking,  using  dynamic
       shared  libraries that define the same symbols in the same
       program is strongly discouraged.

       If a static archive library appears after a dynamic shared
       library  on the command line, the static library is placed
       in the dynamic library search list and is  searched  as  a
       dynamic  library.  In this way, when a dynamic library has
       undefined symbols, it will cause the  appropriate  members
       of  the  static  libraries  to  be loaded into the output.
       Searching static libraries as dynamic libraries can  cause
       problems if the dynamic library later changes to reference
       symbols from the static library that it did not previously
       reference. In this case when the program runs, the dynamic
       linker will report these symbols as undefined because  the
       members for these symbols were not loaded into the output.


UUSSIINNGG TTHHEE DDYYNNAAMMIICC LLIINNKK EEDDIITTOORR 
AANNDD DDYYNNAAMMIICC SSHHAARREEDD LLIIBBRRAARRIIEESS
       The option --ddyynnaammiicc must be  specified  in  order  to  use
       dynamic  shared libraries (and any of the features used to
       implement them) and/or the dynamic link editor.   To  make
       sure  that the output is not using any features that would
       require the dynamic link editor, the flag --ssttaattiicc  can  be
       specified.  Only one of these flags can be specified.


LLIINNKK EEDDIITTOORR DDEEFFIINNEEDD SSYYMMBBOOLLSS
       There  is  a  group of link editor defined symbols for the
       MH_EXECUTE, MH_DYLIB and MH_PRELOAD file  types  (see  the
       header  file  <mach-o/ldsyms.h>).  Link editor symbols are
       reserved; it is an error if an input object  file  defines
       such  a  symbol.   Only those link editor symbols that are
       referenced by the object file appear in the output  file's
       symbol table.

       The   link  editor  defined  symbol  `__mh_execute_header'
       (`_mh_execute_header' in C) is reserved  when  the  output
       file  format is MH_EXECUTE.  This symbol is the address of
       the Mach header in a Mach-O executable  (a  file  of  type
       MH_EXECUTE).   It does not appear in any other Mach-O file
       type.  It can be used to get to the addresses and sizes of
       all the segments and sections in the executable.  This can
       be done by parsing the  headers  and  load  commands  (see
       _M_a_c_h_-_O(5)).

       The   link   editor   defined  symbol  `__mh_dylib_header'
       (`_mh_dylib_header' in C) is reserved when the output file
       format  is  MH_DYLIB.   This  symbol is the address of the
       Mach header in a Mach-O dynamic shared library (a file  of
       type  MH_DYLIB) and is a private external symbol.  It does
       not appear in any other Mach-O file type.  It can be  used
       to  get to the addresses and sizes of all the segments and
       sections in a  dynamic  shared  library.   The  addresses,



Apple Computer, Inc.      April 10, 1997                        4





LD(1)                                                       LD(1)


       however,         must         have        the        value
       
___d_y_l_d___g_e_t___i_m_a_g_e___v_m_a_d_d_r___s_l_i_d_e(3)
 added to them.

       The MH_PRELOAD file type has link editor  defined  symbols
       for  the beginning and ending of each segment, and for the
       beginning and ending of each  section  within  a  segment.
       These  names  are  provided  for use in a Mach-O preloaded
       file, since it does not have its headers loaded as part of
       the  first  segment.   The names of the symbols for a seg-
       ment's beginning and end have the  form:  __SEGNAME__begin
       and  __SEGNAME__end,  where  __SEGNAME  is the name of the
       segment.  Similarly, the symbols for a  section  have  the
       form:            __SEGNAME__sectname__begin            and
       __SEGNAME__sectname__end, where __sectname is the name  of
       the  section  in  the  segment  __SEGNAME.  These symbols'
       types are those of the section that the  names  refer  to.
       (A  symbol  that  refers  to the end of a section actually
       has, as its value, the beginning address of the next  sec-
       tion,  but  the symbol's type is still that of the section
       mentioned in the symbol's name.)

OOPPTTIIOONNSS
       _L_d understands several  options.   Filenames  and  options
       that  refer  to  libraries (such as --ll and --ffrraammeewwoorrkk), 
as
       well as options that create symbols (such as --uu  and  --ii),
       are  position-dependent:  They  define  the load order and
       affect what gets loaded from libraries.  Some  _l_d  options
       overlap  with  compiler  options.   If the compiler driver
       _c_c(1) is used to invoke _l_d _, it maybe  necessary  to  pass
       the   _l_d(1)   options  to  _c_c(1)  using  
--WWll,,--ooppttiioonn,,aarrgguu--
       mmeenntt11,,aarrgguummeenntt22.


       The most common option is:

       --oo _n_a_m_e
              The output file is named _n_a_m_e, instead of aa..oouutt.


       The following flags are related to architectures:

       --aarrcchh _a_r_c_h___t_y_p_e
              Specifies the architecture, _a_r_c_h___t_y_p_e_, for the out-
              put  file.  ``Fat'' input files that do not contain
              this specified architecture are ignored.  Only  one
              --aarrcchh  _a_r_c_h___t_y_p_e can be specified.  See 
_a_r_c_h(3) for
              the currently  known  _a_r_c_h___t_y_p_es.   If    
_a_r_c_h___t_y_p_e
              specifies  a certain implementation of an architec-
              ture (such as --aarrcchh _m_6_8_0_4_0 or  --aarrcchh  
_i_4_8_6  ),  the
              resulting  object  file  has that specific CPU sub-
              type, and it is an error if any input  file  has  a
              CPU  subtype  that will not combine to the CPU sub-
              type for  _a_r_c_h___t_y_p_e.




Apple Computer, Inc.      April 10, 1997                        5





LD(1)                                                       LD(1)


              The default output file architecture is  determined
              by  the first object file to be linked.  If it is a
              ``thin'' (standard Mach-O) file, or a ``fat''  file
              that  contains  only  one  architecture, the output
              file will have the same  architecture.   Otherwise,
              if  it is a ``fat'' file containing an architecture
              that would execute on the host, then  the  ``best''
              architecture is used, as defined by what the kernel
              exec(2) would select.  Otherwise, it is  an  error,
              and a --aarrcchh _a_r_c_h___t_y_p_e must be specified.

       --aarrcchh__mmuullttiippllee
              This  flag is used by the _c_c(1) driver program when
              it is run with multiple --aarrcchh _a_r_c_h___t_y_p_e 
flags.   It
              instructs  programs  like _l_d(1) to precede any dis-
              played message with  a  line  stating  the  program
              name,  in  this case _l_d, and the architecture (from
              the --aarrcchh _a_r_c_h___t_y_p_e flag).  This helps  
distinguish
              which architecture the error messages refer to.

       --ffoorrccee__ccppuussuubbttyyppee__AALLLL
              The  --ffoorrccee__ccppuussuubbttyyppee__AALLLL 
flag causes the CPU sub-
              type to remain the ALL CPU subtype and  not  to  be
              combined or changed.  This flag has precedence over
              any --aarrcchh _a_r_c_h___t_y_p_e flag for a specific 
implementa-
              tion.

       The  following flags are related to using the dynamic link
       editor and/or dynamic shared libraries  (and  any  of  the
       features used to implement them):

       --ddyynnaammiicc
              Allows  use of the features associated with dynamic
              link editor.  The default is --ddyynnaammiicc..

       --ssttaattiicc
              Causes those features associated with dynamic  link
              editor  to be treated as an error. (The description
              for the options that will cause an error if you use
              them  in  conjunction  with --ssttaattiicc are marked with
              the statement "when --ddyynnaammiicc
               is used").

       --rreeaadd__oonnllyy__rreellooccss _t_r_e_a_t_m_e_n_t
              Specifies how relocation entries in read-only  sec-
              tions  are to be treated when --ddyynnaammiicc is used.  To
              get the best possible sharing, the  read-only  sec-
              tions  should  not have any relocation entries.  If
              they do, the dynamic linker will write on the  sec-
              tion.   Having  relocation  entries appear in read-
              only sections is normally avoided by compiling with
              the  option  --ddyynnaammiicc..   But in such cases non-con-
              verted assembly code or objects not  compiled  with
              --ddyynnaammiicc  relocation  entries  will appear in read-



Apple Computer, Inc.      April 10, 1997                        6





LD(1)                                                       LD(1)


              only sections.  The _t_r_e_a_t_m_e_n_t can be: 
_e_r_r_o_r_,  _w_a_r_n_-
              _i_n_g_,  or  _s_u_p_p_r_e_s_s_.   Which  cause the 
treatment of
              relocation entries in read-only sections as either,
              errors,  warnings,  or  suppressed  messages.   The
              default is to treat these as errors.

       --pprreebbiinndd
              Have the static  linker,  _l_d(1),  prebind  an  exe-
              cutable's  or  dynamic  shared  library's undefined
              symbols to the addresses of the  dynamic  libraries
              it  is  being  linked  with.  This optimization can
              only be done if the libraries don't overlap and  no
              symbols are overridden.  When the resulting program
              is run and the same libraries are used to  run  the
              program as when the program was linked, the dynamic
              linker can use the prebound addresses.  If not, the
              dynamic linker undoes the prebinding and binds nor-
              mally.

       The following flags are related to libraries:

       --ll_x    This option is an abbreviation for the library name
              `lib_x.a',  where  _x  is  a  string.  If --ddyynnaammiicc is
              specified the abbreviation for the library name  is
              first  search  as `lib_x.dylib' and then `lib_x.a' is
              searched for.  _l_d searches for libraries  first  in
              any  directories specified with --LL options, then in
              the  standard  directories  //lliibb,   //uussrr//lliibb,   
and
              //uussrr//llooccaall//lliibb.   A  library  is  searched 
when its
              name is encountered, so the  placement  of  the  --ll
              flag  is  significant.   If string _x is of the form
              _x.o, then that file is searched  for  in  the  same
              places,  but  without prepending `lib' or appending
              `.a' or `.dylib' to the filename.

       --LL_d_i_r  Add _d_i_r to the list  of  directories  in  which  to
              search  for  libraries.  Directories specified with
              --LL are searched before the standard directories.

       --ZZ     Do not search the standard directories when search-
              ing for libraries.

       --ffrraammeewwoorrkk _n_a_m_e_[_,_s_u_f_f_i_x_]
              Specifies  a  framework to link against. Frameworks
              are dynamic shared libraries, but they  are  stored
              in  different  locations,  and  therefore  must  be
              searched for differently. When this option is spec-
              ified,   _l_d  searches  for  framework  `_n_a_m_e.frame-
              work/_n_a_m_e' first in any directories specified  with
              the  --FF  option,  then  in  the  standard framework
              directories    
//LLooccaall//LLiibbrraarryy//FFrraammeewwoorrkkss,     
//NNeett--
              wwoorrkk//LLiibbrraarryy//FFrraammeewwoorrkkss, 
and //SSyysstteemm//LLiibbrraarryy//FFrraammee--
              wwoorrkkss.  The placement of the --ffrraammeewwoorrkk  
option  is
              significant,  as  it  determines  when  and how the



Apple Computer, Inc.      April 10, 1997                        7





LD(1)                                                       LD(1)


              framework is searched.  If the optional  suffix  is
              specified  the  framework is first searched for the
              name with the suffix and then without.

       --FF_d_i_r  Add _d_i_r to the list  of  directories  in  which  to
              search  for frameworks.  Directories specified with
              --FF  are  searched  before  the  standard  framework
              directories.

       --OObbjjCC  Loads  all members of static archive libraries that
              define an Objective C class  or  a  category.  This
              option  does not apply to dynamic shared libraries.

       --aallll__llooaadd
              Loads all  members  of  static  archive  libraries.
              This  option  does  not  apply  to  dynamic  shared
              libraries.

       --ddyylliibb__ffiillee 
_i_n_s_t_a_l_l___n_a_m_e_:_f_i_l_e___n_a_m_e
              Specifies that a dynamic shared  library  is  in  a
              different  location than its standard location. Use
              this option when you link with a  library  that  is
              dependent  on  a  dynamic  library, and the dynamic
              library is in a location  other  than  its  default
              location.   _i_n_s_t_a_l_l___n_a_m_e  specifies  the path 
where
              the library normally resides.  _f_i_l_e___n_a_m_e  specifies
              the  path  of  the library you want to use instead.
              For example, if you link to a library that  depends
              upon the dynamic library libsys and you have libsys
              installed in a nondefault location, you  would  use
              this       option:       --ddyylliibb__ffiillee      
//lliibb//lliibb--
              
ssyyss__ss..AA..ddyylliibb:://mmee//lliibb//lliibbssyyss__ss..AA..ddyylliibb.


       The following options specify the output file format  (the
       file type):

       --eexxeeccuuttee
              Produce  a  Mach-O  demand-paged  executable format
              file.  The headers are placed in the first segment,
              and  all  segments are padded to the segment align-
              ment.  This has a file type of MH_EXECUTE.  This is
              the default.  If no segment address is specified at
              address zero, a  segment  with  no  protection  (no
              read,  write,  or execute permission) is created at
              address zero.  This segment, whose size is that  of
              the  segment  alignment,  is  named ``__PAGEZERO''.
              This option was previously named --MMaacchh, which  will
              continue to be recognized.

       --oobbjjeecctt
              Produce  a  Mach-O  file  in the relocatable object
              file format that is intended for  execution.   This
              differs from using the --rr option in that it defines



Apple Computer, Inc.      April 10, 1997                        8





LD(1)                                                       LD(1)


              common symbols, does not  allow  undefined  symbols
              and does not preserve relocation entries.  This has
              a file type of MH_OBJECT.  In this format all  sec-
              tions  are  placed  in one unnamed segment with all
              protections (read, write, execute) allowed on  that
              segment.  This is intended for extremely small pro-
              grams that would otherwise be large due to  segment
              padding.   In  this  format, and all non-MH_EXECUTE
              formats, the link editor defined symbol ``__mh_exe-
              cute_header''  is not defined since the headers are
              not part of the segment.  This format file can't be
              use with the dynamic linker.

       --pprreellooaadd
              Produce  a Mach-O preloaded executable format file.
              The headers are not placed  in  any  segment.   All
              sections  are  placed  in their proper segments and
              they are padded to the segment alignment.  This has
              a  file type of MH_PRELOAD.  This option was previ-
              ously --pp, which will continue to be recognized.

       --ddyylliibb Produce a Mach-O dynamicly  linked  shared  library
              format  file.   The headers are placed in the first
              segment.  All sections are placed in  their  proper
              segments  and they are padded to the segment align-
              ment.  This has a  file  type  of  MH_DYLIB.   This
              option  is  used  by  _l_i_b_t_o_o_l(1)  when its 
--ddyynnaammiicc
              option is specified.

       --bbuunnddllee
              Produce a Mach-O bundle format file.   The  headers
              are  placed in the first segment.  All sections are
              placed in their proper segments and they are padded
              to  the segment alignment.  This has a file type of
              MH_BUNDLE.

       --ddyylliinnkkeerr
              Produces a Mach-O dynamic link editor format  file.
              The  headers  are placed in the first segment.  All
              sections are placed in their proper  segments,  and
              they are padded to the segment alignment.  This has
              a file type of MH_DYLINKER.

       --ffvvmmlliibb
              Produce a Mach-O fixed  VM  shared  library  format
              file.   The headers are placed in the first segment
              but the first  section  in  that  segment  will  be
              placed  on  the  next segment alignment boundary in
              that segment.  All sections  are  placed  in  their
              proper  segments and they are padded to the segment
              alignment.  This has a file type of MH_FVMLIB.


       The following flags affect  the  contents  of  the  output



Apple Computer, Inc.      April 10, 1997                        9





LD(1)                                                       LD(1)


       file:

       --rr     Save  the relocation information in the output file
              so that it can be the subject of  another  _l_d  run.
              The  resulting  file  type  is a Mach-O relocatable
              file (MH_OBJECT) if not otherwise specified.   This
              flag  also  prevents  final  definitions from being
              given to common symbols, and suppresses the  `unde-
              fined symbol' diagnostics.

       --dd     Force  definition  of common storage even if the --rr
              option is present.  This option  also  forces  link
              editor  defined symbols to be defined.  This option
              is assumed when there is a dynamic link editor load
              command in the input and --rr is not specified.


       The following flags support segment specifications:

       --sseeggaalliiggnn _v_a_l_u_e
              Specifies  the  segment alignment.  _v_a_l_u_e is a hex-
              adecimal number that must be an integral  power  of
              2.   The  default  is the target pagesize (2000 hex
              currently).

       --sseegg11aaddddrr _a_d_d_r
              Specifies the starting address of the first segment
              in  the  output file.  _a_d_d_r is a hexadecimal number
              and must be a multiple of  the  segment  alignment.
              This option can also be specified as --iimmaaggee__bbaassee..

       --sseeggaaddddrr _n_a_m_e _a_d_d_r
              Specifies the starting address of the segment named
              _n_a_m_e to be _a_d_d_r_.  The address must be a hexadecimal
              number that is a multiple of the segment alignment.

       --sseeggpprroott _n_a_m_e _m_a_x _i_n_i_t
              Specifies the maximum and  initial  virtual  memory
              protection  of  the  named segment, _n_a_m_e_, to be _m_a_x
              and _i_n_i_t respectfully.  The values for _m_a_x and _i_n_i_t
              are  any  combination  of  the  characters `r' (for
              read), `w' (for write), `x' (for execute)  and  '-'
              (no  access).  The default is `rwx' for the maximum
              protection for all segments.  The default  for  the
              initial  protection for all segments is `rw' unless
              the segment contains a section which contains  some
              machine  insructions, in which case the default for
              the initial protection is `rwx'.  The  default  for
              the  initial  protection for the ``__TEXT'' segment
              is `rx' (not writable).

       --sseegglliinnkkeeddiitt
              Create the link edit segment, named  ``__LINKEDIT''
              (this  is  the default).  This segment contains all



Apple Computer, Inc.      April 10, 1997                       10





LD(1)                                                       LD(1)


              the link edit information (relocation  information,
              symbol  table,  string  table,  etc.) in the object
              file.  If the segment protection for  this  segment
              is  not  specified,  the  initial protection is not
              writable.  This can only be specified when the out-
              put  file type is not MH_OBJECT and MH_PRELOAD out-
              put file types.  To get at  the  contents  of  this
              section,  the Mach header and load commands must be
              parsed from the link editor  defined  symbols  like
              `__mh_execute_header' (see _M_a_c_h_-_O(5)).

       --nnoosseegglliinnkkeeddiitt
              Do   not   create   the   link  edit  segment  (see
              --sseegglliinnkkeeddiitt above).

       --ppaaggeezzeerroo__ssiizzee _v_a_l_u_e
              Specifies the segment size of __PAGEZERO to  be  of
              size  _v_a_l_u_e,  where  _v_a_l_u_e  is a hexadecimal number
              rounded to the segment alignment.  The  default  is
              the  target pagesize (currently, 2000 hexadecimal).

       --ssttaacckk__aaddddrr _v_a_l_u_e
              Specifies the initial address of the stack  pointer
              _v_a_l_u_e,  where _v_a_l_u_e is a hexadecimal number rounded
              to the  segment  alignment.   The  default  segment
              alignment  is  the target pagesize (currently, 2000
              hexadecimal).   If  --ssttaacckk__ssiizzee  is  specified  and
              --ssttaacckk__aaddddrr  is  not,  a default stack address spe-
              cific for the architecture  being  linked  will  be
              used  and  its  value printed as a warning message.
              This creates a  segment  named  __UNIXSTACK.   Note
              that  the  initial  stack address will be either at
              the high address of the segment or the low  address
              of  the  segment  depending  on which direction the
              stack grows for the architecture being linked.

       --ssttaacckk__ssiizzee _v_a_l_u_e
              Specifies the size  of  the  stack  segment  _v_a_l_u_e,
              where  _v_a_l_u_e is a hexadecimal number rounded to the
              segment alignment.  The default  segment  alignment
              is  the  target pagesize (currently, 2000 hexadeci-
              mal).  If --ssttaacckk__aaddddrr is specified and  
--ssttaacckk__ssiizzee
              is  not,  a  default  stack  size  specific for the
              architecture being linked  will  be  used  and  its
              value printed as a warning message.  This creates a
              segment named __UNIXSTACK .


       The following flags support section specifications:

       --sseeccttccrreeaattee _s_e_g_n_a_m_e 
_s_e_c_t_n_a_m_e _f_i_l_e
              The section _s_e_c_t_n_a_m_e in the segment 
_s_e_g_n_a_m_e is cre-
              ated from the contents of _f_i_l_e_.  The combination of
              _s_e_g_n_a_m_e and _s_e_c_t_n_a_m_e must be unique;  
there  cannot



Apple Computer, Inc.      April 10, 1997                       11





LD(1)                                                       LD(1)


              already  be  a  section  
_(_s_e_g_n_a_m_e_,_s_e_c_t_n_a_m_e_)  in any
              input object  file.   This  option  was  previously
              called --sseeggccrreeaattee, which will continue to be recog-
              nized.

       --sseeccttaalliiggnn _s_e_g_n_a_m_e _s_e_c_t_n_a_m_e 
_v_a_l_u_e
              The section named _s_e_c_t_n_a_m_e in the  segment  
_s_e_g_n_a_m_e
              will  have  its alignment set to _v_a_l_u_e, where _v_a_l_u_e
              is a hexadecimal number that must  be  an  integral
              power  of 2.  This can be used to set the alignment
              of a section created from a file,  or  to  increase
              the  alignment of a section from an object file, or
              to set the maximum alignment of the  (__DATA,__com-
              mon)  section,  where common symbols are defined by
              the link editor.  Setting the alignment of  a  lit-
              eral  section  causes the individual literals to be
              aligned on that boundary.  If the section alignment
              is  not  specified by a section header in an object
              file or on the command  line,  it  defaults  to  10
              (hex), indicating 16-byte alignment.

       --sseeccttoorrddeerr _s_e_g_n_a_m_e _s_e_c_t_n_a_m_e 
_o_r_d_e_r_f_i_l_e
              The  section _s_e_c_t_n_a_m_e in the segment 
_s_e_g_n_a_m_e of the
              input files will be broken up into  blocks  associ-
              ated  with symbols in the section.  The output sec-
              tion will be created  by  ordering  the  blocks  as
              specified  by  the  lines  in the _o_r_d_e_r_f_i_l_e_.  These
              blocks are aligned to  the  output  file's  section
              alignment  for  this  section.   Any section can be
              ordered in the output file  except  symbol  pointer
              and symbol stub sections.

              For  non-literal  sections, each line of the _o_r_d_e_r_-
              _f_i_l_e contains an object name  and  a  symbol  name,
              separated  by  a single colon (':').  If the object
              file is in an archive, the archive  name,  followed
              by  a  single  colon,  must precede the object file
              name.  The object  file  names  and  archive  names
              should  be  exactly  the  names as seen by the link
              editor, but if not, the  link  editor  attempts  to
              match  up  the names the best it can.  For non-lit-
              eral sections, the easiest way to generate an order
              file  is  with  the  ``--jjoonnllss  ++_s_e_g_n_a_m_e  
_s_e_c_t_n_a_m_e''
              options to _n_m(1).

              The format of the _o_r_d_e_r_f_i_l_e for literal sections is
              specific  to  each  type of literal section.  For C
              string literal sections, each  line  of  the  order
              file  contains  one  literal  C  string,  which may
              include ANSI C  escape  sequences.   For  four-byte
              literal  sections,  the  order  file  format is one
              32-bit hex number with a leading 0x per line,  with
              the  rest  of  the  line treated as a comment.  For
              eight-byte literal sections, the order file has two



Apple Computer, Inc.      April 10, 1997                       12





LD(1)                                                       LD(1)


              32-bit  hex  numbers  per  line;  each number has a
              leading 0x, the two numbers are separated by  white
              space,  and  the  rest  of the line is treated as a
              comment.  For literal pointer sections,  the  lines
              in the order file represent pointers, one per line.
              A literal pointer is represented by the name of the
              segment that contains the literal being pointed to,
              followed by the section name, followed by the  lit-
              eral.  These  three strings are separated by colons
              with no extra white space.   For  all  the  literal
              sections, each line in the the order file is simply
              entered into the literal section and will appear in
              the  output  file in the same order as in the order
              file.  There is no check to see whether the literal
              is present in the loaded objects.  For literal sec-
              tions, the easiest way to generate an order file is
              with  the  ``--XX --vv --ss _s_e_g_n_a_m_e 
_s_e_c_t_n_a_m_e'' options to
              _o_t_o_o_l(1).

       --sseeccttoorrddeerr__ddeettaaiill
              When using the --sseeccttoorrddeerr  option,   any  pairs  of
              object  file  names and symbol names that are found
              in the loaded objects, but  not  specified  in  the
              _o_r_d_e_r_f_i_l_e,  are  placed  last  in the output file's
              section.   These pairs are ordered by  object  file
              (as the filenames appear on the command line), with
              the different symbols  from  a  given  object  file
              being  ordered  by  increasing symbol address (that
              is, the order in which the symbols occurred in  the
              object  file, not their order in the symbol table).
              By default, the link editor displays a summary that
              simply  shows  the  number of symbol names found in
              the loaded objects but not  in  the  _o_r_d_e_r_f_i_l_e,  as
              well  as  the  number of symbol names listed in the
              _o_r_d_e_r_f_i_l_e but not  found  in  the  loaded  objects.
              (The  summary  is omitted if both values are zero.)
              To instead produce a detailed list  of  these  sym-
              bols, use the --sseeccttoorrddeerr__ddeettaaiill flag.  
If an object
              file-symbol name pair is listed multiple  times,  a
              warning  is  generated, and the first occurrence is
              used.

       --sseeccttoobbjjeeccttssyymmbboollss _s_e_g_n_a_m_e 
_s_e_c_t_n_a_m_e
              This causes the link editor to generate local  sym-
              bols  in  the  section _s_e_c_t_n_a_m_e in the segment 
_s_e_g_-
              _n_a_m_e.  Each object file that has one of these  sec-
              tions  will  have a local symbol created whose name
              is that of the object file, or of the member of the
              archive.   The  symbol's  value  will  be the first
              address  where  that  object  file's  section   was
              loaded.   The  symbol  has  the type N_SECT and its
              section number is the the same as that of the  sec-
              tion  _(_s_e_g_n_a_m_e_,_s_e_c_t_n_a_m_e_)  in the 
output file.  This
              symbol will placed in the symbol table just  before



Apple Computer, Inc.      April 10, 1997                       13





LD(1)                                                       LD(1)


              all  other local symbols for the object file.  This
              feature is typically  used  where  the  section  is
              (__TEXT,__text),  in  order  to  help  the debugger
              debug object files produced by old versions of  the
              compiler or by non-Apple compilers.


       The  following flags are related to symbols.  These flags'
       arguments  are  external  symbols  whose  names  have  `_'
       prepended to the C, FORTRAN, or Pascal variable name.

       --yy_s_y_m  Display  each  file in which _s_y_m appears, its type,
              and whether the file defines or references it.  Any
              multiply  defined symbols are automatically traced.
              Like most of the  other  symbol-related  flags,  --yy
              takes  only one argument; the flag may be specified
              more than once in the command line  to  trace  more
              than one symbol.

       --YY _n_u_m_b_e_r
              For  the  first  _n_u_m_b_e_r undefined symbols, displays
              each file in which the symbol appears, its type and
              whether the file defines or references it (that is,
              the  same  style  of  output  produced  by  the  --yy
              option). To keep the output manageable, this option
              displays at most _n_u_m_b_e_r references.

       --kkeeeepp__pprriivvaattee__eexxtteerrnnss
              Don't turn private  external  symbols  into  static
              symbols,  but rather leave them as private external
              in the resulting output file.

       --mm     Don't treat multiply  defined  symbols  as  a  hard
              error;  instead, simply print a warning.  The first
              such symbol is used for linking; its value is  used
              for the symbol in the symbol table.  The other sym-
              bols by the same name may be used in the  resulting
              output  file  through  local  references.  This can
              still produce a resulting output file  that  is  in
              error.  This flag's use is strongly discouraged!

       --wwhhyyllooaadd
              Indicate  why  each  member of a library is loaded.
              In other words, indicate which currently  undefined
              symbol is being resolved, causing that member to be
              loaded.  This in combination with the  above  --yy_s_y_m
              flag  can help determine exactly why a link edit is
              failing due to multiply defined symbols.

       --uu _s_y_m Enter the argument _s_y_m into the symbol table as  an
              undefined  symbol.   This  is  useful  for  loading
              wholly from a library, since initially  the  symbol
              table  is  empty  and  an  unresolved  reference is
              needed to force the loading  of  the  first  object



Apple Computer, Inc.      April 10, 1997                       14





LD(1)                                                       LD(1)


              file.

       --ee _s_y_m The  argument _s_y_m is taken to be the symbol name of
              the entry point of the resulting file.  By default,
              the entry point is the address of the first section
              in the first segment.

       --ii_d_e_f_i_n_i_t_i_o_n_:_i_n_d_i_r_e_c_t
              Create an indirect symbol for the symbol name _d_e_f_i_-
              _n_i_t_i_o_n  which is defined to be the same as the sym-
              bol name _i_n_d_i_r_e_c_t (which is taken to be undefined).
              When  a  definition of the symbol named _i_n_d_i_r_e_c_t is
              linked, both symbols will take on the defined  type
              and value.

              This  option  overlaps  with a compiler option.  If
              you use the compiler driver  _c_c(1)  to  invoke  _l_d,
              invoke  this  option  in  this  way:  
--WWll,,--ii_d_e_f_i_n_i_-
              _t_i_o_n_:_i_n_d_i_r_e_c_t_.


       --uunnddeeffiinneedd _t_r_e_a_t_m_e_n_t
              Specifies how undefined symbols are to be  treated.
              _t_r_e_a_t_m_e_n_t  can  be:  _e_r_r_o_r_,  
_w_a_r_n_i_n_g_,  or _s_u_p_p_r_e_s_s_.
              Which cause the treatment of undefined  symbols  as
              either,  errors, warnings, or suppresses the check-
              ing of undefined symbols.  The default is to  treat
              undefined symbols as errors.

       --UU _s_y_m Allow  the  symbol _s_y_m to be undefined, even if the
              --rr flag is not given.  Produce an  executable  file
              if  the  only undefined symbols are those specified
              with --UU..

              This option overlaps with a  compiler  option.   If
              you  use  the  compiler  driver _c_c(1) to invoke _l_d,
              invoke this option in this way: --WWll,,--UU,,_s_y_m_.

       --bbiinndd__aatt__llooaadd
              Causes the output file to be marked such  that  the
              dynamic  linker  will bind all undefined references
              when the file is loaded or launched.


       The following flags are related  to  stripping  link  edit
       information.   This  information  can  also  be removed by
       _s_t_r_i_p(1), which uses the same options.  (The exception  is
       the  --ss  flag below, but this is the same as _s_t_r_i_p(1) with
       no arguments.)  The following flags are listed in decreas-
       ing level of stripping.

       --ss     Completely  strip  the  output; that is, remove the
              symbol table and relocation information.




Apple Computer, Inc.      April 10, 1997                       15





LD(1)                                                       LD(1)


       --xx     Strips the non-global symbols; only saves  external
              symbols.

              This  option  overlaps  with a compiler option.  If
              you use the compiler driver  _c_c(1)  to  invoke  _l_d,
              invoke this option in this way: --WWll,,--xx..

       --SS     Strip debugging symbols; only save local and global
              symbols.

       --XX     Strip local symbols whose  names  begin  with  `L';
              save  all  other symbols.  (The compiler and assem-
              bler  currently  strip  these  internally-generated
              labels  by default, so they generally do not appear
              in object files seen by the link editor.)

       --bb     Strip the base file's symbols from the output file.
              (The  base  file is given as the argument to the --AA
              option.)

              This option overlaps with a  compiler  option.   If
              you  use  the  compiler  driver _c_c(1) to invoke _l_d,
              invoke this option in this way: --WWll,,--bb..


       The remaining options are infrequently used:

       --ww     Suppresses all warning messages.

       --nnoo__aarrcchh__wwaarrnniinnggss
              Suppresses warning messages about files  that  have
              the wrong architecture for the --aarrcchh flag.

       --aarrcchh__eerrrroorrss__ffaattaall
              Cause  the errors having to do with files that have
              the wrong architecture to be  fatal  and  stop  the
              link editor.

       --MM     Produce  a  load  map, listing all the segments and
              sections.  The list includes the address where each
              input file's section appears in the output file, as
              well as the section's size.

              This option overlaps with a  compiler  option.   If
              you  use  the  compiler  driver _c_c(1) to invoke _l_d,
              invoke this option in this way: --WWll,,--MM..

       --wwhhaattssllooaaddeedd
              Display a single line listing each object file that
              is  loaded.   Names of objects in archives have the
              form libfoo.a(bar.o).

       --ffiilleelliisstt 
_l_i_s_t_f_i_l_e_[_,_d_i_r_n_a_m_e_]
              Specifies that the linker  should  link  the  files



Apple Computer, Inc.      April 10, 1997                       16





LD(1)                                                       LD(1)


              listed  in  _l_i_s_t_f_i_l_e  _.   This is an alternative to
              listing the files on the  command  line.  The  file
              names  are  listed  one  per line separated only by
              newlines. (Spaces and tabs are assumed to  be  part
              of the file name.)  If the optional directory name,
              _d_i_r_n_a_m_e is specified, it is prepended to each  name
              in the list file.

       --hheeaaddeerrppaadd _v_a_l_u_e
              Specifies  the  minimum amount of space ("padding")
              following the headers for  the  MH_EXECUTE  format.
              _v_a_l_u_e  is  a  hexadecimal number.  When a segment's
              size is rounded up to the segment alignment,  there
              is  extra  space left over, which is placed between
              the headers and the sections, rather  than  at  the
              end of the segment.  The hheeaaddeerrppaadd option specifies
              the minimum size of this padding, which can be use-
              ful  if  the  headers  will  be altered later.  The
              default value is the 2 * sizeof(struct section)  so
              the  program /usr/bin/objcunique can always add two
              section headers.  The actual amount of pad will  be
              as  large  as  the  amount  of  the first segment's
              round-off.  (That is, take the total  size  of  the
              first  segments' headers and non-zerofill sections,
              round this size up to the  segment  alignment,  and
              use   the   difference   between  the  rounded  and
              unrounded sizes as the minimum amount of  padding.)

       --tt     Trace  the progress of the link editor; display the
              name of each file that is loaded as it is processed
              in the first and second pass of the link editor.

       --AA _b_a_s_e_f_i_l_e
              Incremental  loading:  linking  is  to be done in a
              manner that lets the resulting object be read  into
              an  already executing program, the _b_a_s_e_f_i_l_e.  
_b_a_s_e_-
              _f_i_l_e is the name of a file whose symbol table  will
              be  taken  as a basis on which to define additional
              symbols.   Only  newly  linked  material  will   be
              entered  into  the  aa..oouutt  file, but the new symbol
              table will reflect every symbol defined in the base
              file  and  the  newly  linked  files.  Option(s) to
              specify the addresses of the segments are typically
              needed, since the default addresses tend to overlap
              with the  _b_a_s_e_f_i_l_e_.   The  default  format  of  the
              object  file  is  MH_OBJECT.   Note: It is strongly
              recommended that this option NOT be  used,  because
              the  dyld  package  described  in _d_y_l_d(3) is a much
              easier alternative.

       --ddyylliibb__iinnssttaallll__nnaammee _n_a_m_e
              For dynamic shared  library  files,  specifies  the
              name  of  the file the library will be installed in
              for  programs  that  use  it.   If  this   is   not



Apple Computer, Inc.      April 10, 1997                       17





LD(1)                                                       LD(1)


              specified, the name specified in the --oo _n_a_m_e option
              will  be  used.   This  option  is  used   as   the
              _l_i_b_t_o_o_l(1)   --iinnssttaallll__nnaammee  
_n_a_m_e  option  when  its
              --ddyynnaammiicc option is specified.

       
--ddyylliibb__ccoommppaattiibbiilliittyy__vveerrssiioonn 
_n_u_m_b_e_r
              For dynamic shared library  files,  this  specifies
              the  compatibility  version  number of the library.
              When a library is used by a program,  the  compati-
              bility version is checked and if the program's ver-
              sion is greater that the library's version,  it  is
              an  error.  The format of _n_u_m_b_e_r is 
_X_[_._Y_[_._Z_]_] where
              _X must be a positive non-zero number less  than  or
              equal  to  65535, and _._Y and _._Z are optional and if
              present must be a positive  non-zero  numbers  less
              than or equal to 255.  If the compatibility version
              number is not specified, it has a value of 0 and no
              checking  is  done  when the library is used.  This
              option  is  used  as  the  _l_i_b_t_o_o_l(1)  
--ccoommppaattiibbiill--
              iittyy__vveerrssiioonn  _n_u_m_b_e_r option when its 
--ddyynnaammiicc option
              is set.

       --ddyylliibb__ccuurrrreenntt__vveerrssiioonn 
_n_u_m_b_e_r
              For dynamic shared  library  files,  specifies  the
              current version number of the library.  The current
              version of the library can be obtained programmati-
              cally  by  the user of the library so it can deter-
              mine exactly which version of  the  library  it  is
              using.   The  format of _n_u_m_b_e_r is 
_X_[_._Y_[_._Z_]_] where _X
              must be a positive non-zero  number  less  than  or
              equal  to  65535, and _._Y and _._Z are optional and if
              present must be a positive  non-zero  numbers  less
              than or equal to 255.  If the version number is not
              specified, it has a value of  0.   This  option  is
              used  as  the  _l_i_b_t_o_o_l(1)  
--ccuurrrreenntt__vveerrssiioonn  _n_u_m_b_e_r
              option when its --ddyynnaammiicc option is set.

       --ddyylliinnkkeerr__iinnssttaallll__nnaammee _n_a_m_e
              For dynamic link editor files, specifies  the  name
              of  the  file  the  dynamic  link  editor  will  be
              installed in for programs that use it.


       Options available in early versions  of  the  Mach-O  link
       editor may no longer be supported.


FFIILLEESS
       /lib/lib*.{a,dylib}                        libraries
       /usr/lib/lib*.{a,dylib}
       /usr/local/lib/lib*.{a,dylib}
       /Local/Library/Frameworks/*.framework/*    framework
       libraries
       /Network/Library/Frameworks/*.framework/*  framework



Apple Computer, Inc.      April 10, 1997                       18





LD(1)                                                       LD(1)


       libraries
       /System/Library/Frameworks/*.framework/*   framework
       libraries
       a.out                                      output file

SSEEEE AALLSSOO
       as(1),  ar(1),  cc(1),  libtool(1),  ranlib(1),   atom(1),
       nm(1),  otool(1)  lipo(1),  arch(3),  dyld(3),  Mach-O(5),
       strip(1), redo_prebinding(1)
















































Apple Computer, Inc.      April 10, 1997                       19






Jörgen Persson <[EMAIL PROTECTED]> wrote:
>
>./load auto-str substdio.a error str.a
>/usr/bin/ld: can't use -s with input files containing indirect symbols
>(output file must contain at least global symbols, for maximum stripping
>use -x)

Try putting "cc -x" in conf-ld.

-Dave






Dave Sill wrote:
> 
> Jörgen Persson <[EMAIL PROTECTED]> wrote:
> >
> >./load auto-str substdio.a error str.a
> >/usr/bin/ld: can't use -s with input files containing indirect symbols
> >(output file must contain at least global symbols, for maximum stripping
> >use -x)
> 
> Try putting "cc -x" in conf-ld.
> 
Then you'll get this error:

./compile auto-str.c
./load auto-str substdio.a error.a str.a 
cc: auto-str: No such file or directory
cc: language -o not recognized
cc: language -o not recognized
cc: language -o not recognized
cc: language -o not recognized
make: *** [auto-str] Error 1

Is there way to avoid this?




At 03:06 1999-05-26 +0900, smurf wrote:
[snip]
>Then you'll get this error:
>
>./compile auto-str.c
>./load auto-str substdio.a error.a str.a 
>cc: auto-str: No such file or directory
>cc: language -o not recognized
>cc: language -o not recognized
>cc: language -o not recognized
>cc: language -o not recognized
>make: *** [auto-str] Error 1
>
>Is there way to avoid this?

I removed all of the linking options and came to the part looking for the
users although I've edited /etc/passwd & /etc/group

Tried to add the user "alias" the graphical way and it seems to work out
better. The problem is that the files in /etc doesn't change. Where are
those files then?

Jörgen Persson
Datoransvarig, Teknologkåren vid LTH




[EMAIL PROTECTED] (smurf) writes:

  Then you'll get this error:
  
  ./compile auto-str.c
  ./load auto-str substdio.a error.a str.a 
  cc: auto-str: No such file or directory
  cc: language -o not recognized
  cc: language -o not recognized
  cc: language -o not recognized
  cc: language -o not recognized
  make: *** [auto-str] Error 1
  
  Is there way to avoid this?

I ran into a similar problem on OpenStep 4.1.  I used just "cc" in conf-ld
and it worked, IIRC.  Try "cc -Wl,-x" or maybe "cc -Wl,x"; my local Mac OS
X box is down, so I can't check this out there.




Hi 
I've made it down to pop3d now, almost done :)
Remove all linking options in conf-ld (one can strip afterwards, haven't
tried yet though) and add the users the graphical way (still haven't found
the right files to change, it's not /etc/passwd & /etc/group).

Anyway... I still have more problems, any ideas?

./compile qmail-pop3d.c
./compile commands.c
./compile maildir.c
./load qmail-pop3d commands.o case.a timeoutread.o \
timeoutwrite.o maildir.o prioq.o now.o env.a strerr.a sig.a \
open.a getln.a stralloc.a alloc.a substdio.a error.a str.a \
fs.a  `cat socket.lib`
/usr/bin/ld: Undefined symbols:
_strerr_sys
make: *** [qmail-pop3d] Error 1


Jörgen Persson
Datoransvarig, Teknologkåren vid LTH




On 21 May 99, at 12:01, [EMAIL PROTECTED] wrote:

> anyone using qmail to relay to louts notes? we are doing this now by using qmail
> to relay to our internal lotus notes server.

We are using Lotus Notes 4.6a and qmail 1.03 in nearly the same
way without any problem. Qmail is running on our dual-homed
Firewall (bound private and officall IP´s) for security reasons and
forwards all messages to our internal Notes-Server that only uses
one private IP-Address. All Mail for Notes will be adressed to
domain.com and then forwarded with smtp-routes without using
any MX-Record. We have no need to start and stop the queue
manually because this works fine now for several months. How
many incoming messages do you have and how looks your general
setup? Perhaps it is a mass-problem (on the Notes side of course!).

Grettings from germany,

Roland








On Fri, May 21, 1999 at 03:46:33PM -0500, Fred Lindberg wrote:
> On Fri, 21 May 1999 12:01:16 -0400, [EMAIL PROTECTED] wrote:
> Qmail is a little smarter than sendmail. It uses a quadratic backoff,
> so the interval for any given message increases as the message ages.

I have a table of the "qmail-send retry times" at

     http://www.lamer.de/maex/creative/software/qmail/times.html

The table lists data for
    /var/qmail/control/queuelifetime
set to values up to
    1209600 (two weeks)         (Default: 604800 (one week))

HTH

        \Maex

-- 
SpaceNet GmbH             |   http://www.Space.Net/   | Yeah, yo mama dresses
Research & Development    | mailto:[EMAIL PROTECTED] | you funny and you need
Joseph-Dollinger-Bogen 14 |  Tel: +49 (89) 32356-0    | a mouse to delete files
D-80807 Muenchen          |  Fax: +49 (89) 32356-299  |




Markus Stumpf <[EMAIL PROTECTED]> wrote:
>
>I have a table of the "qmail-send retry times" at
>
>     http://www.lamer.de/maex/creative/software/qmail/times.html
>
>The table lists data for
>    /var/qmail/control/queuelifetime
>set to values up to
>    1209600 (two weeks)                (Default: 604800 (one week))

I've got one at:

    http://Web.InfoAve.Net/~dsill/lwq.html#retry-schedule

It only goes up to seven days, but it gives the retry times in
seconds, too.

-Dave




Hi there,

I need to know:  Have qmail a bin that return input/output messages
estatistics ?

Something like to mailstats from sendmail.

Thanks for your help.

--
######################
   Juliana Romano
   Internetcom-NOC
######################






Juliana Romano <[EMAIL PROTECTED]> wrote:
>
>I need to know:  Have qmail a bin that return input/output messages
>estatistics ?
>
>Something like to mailstats from sendmail.

See:

    http://Web.InfoAve.Net/~dsill/lwq.html#qmailanalog

-Dave




Does anybody know of a more recent survey than that at
http://pobox.com/~djb/surveys/smtpsoftware3.txt ?

Greetz, Peter
-- 
| 'He broke my heart,    |                              Peter van Dijk |
     I broke his neck'   |                     [EMAIL PROTECTED] |
   nognikz - As the sun  |        Hardbeat@ircnet - #cistron/#linux.nl |
                         | Hardbeat@undernet - #groningen/#kinkfm/#vdh |





Hi,

I've just restarted my mail server, (having not got the origional pop3d boot up script)

using this line in /etc/inetd.conf

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup ice.gradwell.com 
/bin/checkpassword
/var/qmail/bin/qmail-pop3d Maildir

(all one line)

and when I try a pop3 session, I get an
-ERR this user has no $HOME/Maildir

error:

[peter@tea peter]$ telnet ice.gradwell.com 110
Trying 194.205.225.96...
Connected to ice.gradwell.com.
Escape character is '^]'.
+OK <830.927664332@/bin/checkpassword>
USER peter
+OK
PASS pass
-ERR this user has no $HOME/Maildir
Connection closed by foreign host.


however, it does exist:

drwxr-xr-x   5 peter    users        1024 Mar 28 19:51 Maildir/

peter@ice:~$ ls -al Maildir
total 14
drwxr-xr-x   5 peter    users        1024 Mar 28 19:51 ./
drwxr-xr-x  45 peter    users        4096 May 25 21:03 ../
drwx------   2 peter    users        6144 May 18 12:52 cur/
drwx------   2 peter    users        2048 May 25 21:09 new/
drwx------   2 peter    users        1024 May 25 21:09 tmp/

can some one pass me a clue please?

thanks

peter.

--
peter at gradwell dot com; http://www.gradwell.com/
gradwell dot com Ltd. Enabling the internet you don't see.

         ... just another (profitable) student ...




At 2:56 pm -0700 25/5/99,the wonderful Mahlon Smith wrote:
>Your permissions for your Maildir appear to be incorrect.
>Should read:
>drwx------   5 peter    users        1024 Mar 28 19:51 Maildir/
>
>Always best (and easiest) to create Maildirs with the supplied
>maildirmake command.
>(/var/qmail/bin/maildirmake   by default.)
>


hum, done that, deleted the old one and put in the new one...

one thing I notice is that in the DJB faq he uses this:

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup ice.gradwell.com 
/bin/checkpassword
/var/qmail/bin/qmail-pop3d Maildir

where as in Dave's life with qmail he recomends this:

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup ice.gradwell.com 
checkpassword
/var/qmail/bin/qmail-pop3d Maildir

- note the extra qmail-popup

??

thanks

peter.

--
peter at gradwell dot com; http://www.gradwell.com/
gradwell dot com Ltd. Enabling the internet you don't see.

** Cheap and easy ecommerce: http://www.gradwell.net/ **





Your permissions for your Maildir appear to be incorrect.
Should read:
drwx------   5 peter    users        1024 Mar 28 19:51 Maildir/

Always best (and easiest) to create Maildirs with the supplied
maildirmake command.
(/var/qmail/bin/maildirmake   by default.)

--------------------------
Mahlon Smith
InternetCDS
http://www.internetcds.com



On Tue, 25 May 1999, Peter Gradwell wrote:

> 
> Hi,
> 
> I've just restarted my mail server, (having not got the origional pop3d boot up 
>script)
> 
> using this line in /etc/inetd.conf
> 
> pop3 stream tcp nowait root /var/qmail/bin/qmail-popup ice.gradwell.com 
>/bin/checkpassword
> /var/qmail/bin/qmail-pop3d Maildir
> 
> (all one line)
> 
> and when I try a pop3 session, I get an
> -ERR this user has no $HOME/Maildir
> 
> error:
> 
> [peter@tea peter]$ telnet ice.gradwell.com 110
> Trying 194.205.225.96...
> Connected to ice.gradwell.com.
> Escape character is '^]'.
> +OK <830.927664332@/bin/checkpassword>
> USER peter
> +OK
> PASS pass
> -ERR this user has no $HOME/Maildir
> Connection closed by foreign host.
> 
> 
> however, it does exist:
> 
> drwxr-xr-x   5 peter    users        1024 Mar 28 19:51 Maildir/
> 
> peter@ice:~$ ls -al Maildir
> total 14
> drwxr-xr-x   5 peter    users        1024 Mar 28 19:51 ./
> drwxr-xr-x  45 peter    users        4096 May 25 21:03 ../
> drwx------   2 peter    users        6144 May 18 12:52 cur/
> drwx------   2 peter    users        2048 May 25 21:09 new/
> drwx------   2 peter    users        1024 May 25 21:09 tmp/
> 
> can some one pass me a clue please?
> 
> thanks
> 
> peter.
> 
> --
> peter at gradwell dot com; http://www.gradwell.com/
> gradwell dot com Ltd. Enabling the internet you don't see.
> 
>          ... just another (profitable) student ...
> 





On Tue, May 25, 1999 at 11:08:06PM +0100, Peter Gradwell wrote:
> one thing I notice is that in the DJB faq he uses this:
> 
> pop3 stream tcp nowait root /var/qmail/bin/qmail-popup ice.gradwell.com 
>/bin/checkpassword
> /var/qmail/bin/qmail-pop3d Maildir
> 
> where as in Dave's life with qmail he recomends this:
> 
> pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup ice.gradwell.com 
>checkpassword
> /var/qmail/bin/qmail-pop3d Maildir
> 
> - note the extra qmail-popup

The second example is correct. However you might want to add a full path
in front of the "checkpassword". Maybe it cannot be found and because of
that you get the error.

        \Maex

-- 
SpaceNet GmbH             |   http://www.Space.Net/   | Yeah, yo mama dresses
Research & Development    | mailto:[EMAIL PROTECTED] | you funny and you need
Joseph-Dollinger-Bogen 14 |  Tel: +49 (89) 32356-0    | a mouse to delete files
D-80807 Muenchen          |  Fax: +49 (89) 32356-299  |




Hi,

I've just had a few hours with qmail-pop3d and I'd like to highlight a few things i've 
learn't...

I started out with this in inetd.conf and a broken Maildir permissions.

Fixing the permissions was easy, but this still was reporting a 'no home/maildir found'
> pop3 stream tcp nowait root /var/qmail/bin/qmail-popup ice.gradwell.com 
>/bin/checkpassword
> /var/qmail/bin/qmail-pop3d Maildir

so, I wen't to the djb faq and looked at this:

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup ice.gradwell.com 
/bin/checkpassword
/var/qmail/bin/qmail-pop3d Maildir

and also to Dave's wonderful life with qmail...

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup ice.gradwell.com 
checkpassword
/var/qmail/bin/qmail-pop3d Maildir

but non of these worked.

So I went back to checkpassword, recompiled, ran the tests, and it worked :-(

so I gave up on inetd, and went to tcpserver...

I tried this:

tcpserver 0 110 /var/qmail/bin/qmail-popup ice.gradwell.com \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

but this didn't work either... so I went back to the checkpassword tests, and found I 
was using
'ice' as my hostname. This finally works:

tcpserver 0 110 /var/qmail/bin/qmail-popup ice \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

Now, I'm not sure, why, how or where the difference is, but I though't I'd record this 
for archive
prosperity, and I'd like to urge all you knowledgeable documentation writers to 
mention it! 'cause
it's just cost me several hours of sleep :-)

thanks to Manohar Pradhan for his help.

peter.

--
peter at gradwell dot com; http://www.gradwell.com/
gradwell dot com Ltd. Enabling the internet you don't see.

         ... just another (profitable) student ...




On Wed, May 26, 1999 at 12:12:55AM +0100, Peter Gradwell wrote:
> Now, I'm not sure, why, how or where the difference is, but I though't I'd record 
>this for archive
> prosperity, and I'd like to urge all you knowledgeable documentation writers to 
>mention it! 'cause
> it's just cost me several hours of sleep :-)

There should be absolutely no difference between using "ice" and
"ice.gradwell.com" as it is only used for the greeting, i.e. instead of
     +OK <[EMAIL PROTECTED]>
you'll now see
     +OK <26465.927679930@ice>

The reasons for your problems must be something else.
However, it looks like they're fixed now :-)))

        \Maex
-- 
SpaceNet GmbH             |   http://www.Space.Net/   | Yeah, yo mama dresses
Research & Development    | mailto:[EMAIL PROTECTED] | you funny and you need
Joseph-Dollinger-Bogen 14 |  Tel: +49 (89) 32356-0    | a mouse to delete files
D-80807 Muenchen          |  Fax: +49 (89) 32356-299  |




Hello all, 

After having a brief run in with onelist.com and a list problem (1000's of
messages per hour) I wanted to use .qmail to filter the messages to a
user.

I went through dot-qmail and envelope, but I really didn't pick up the
environment variable set for the specific envelope parts, I figured out
$SENDER, but what are the others (if any) and what is the most effective
way to use a bash expression to filter the mail?  Looks like regex's may
not be the best?

Thanks!

Paul D. Farber II
Farber Technology
Ph. 570-628-5303
Fax 570-628-5545
[EMAIL PROTECTED]





+ Paul Farber <[EMAIL PROTECTED]>:

| I went through dot-qmail and envelope, but I really didn't pick up
| the environment variable set for the specific envelope parts,

Try qmail-command(8).

- Harald




G'day all,
        Can anyone tell me how often retry time is for delayed mail ??

My setup is

we setup mail to forward to exchange servers that are dialed only
intermittantly.
So .... Primary MX records are set to forward mail directly to the Exchange
servers which
are on static IP numbers with properly configured DNS entries. So far so
good,
that all works great. When mail arrives for them and they aren't dialed in
is falls
back to our machine being the secondary MX for their Domain.

My question is, how long do they need to stay connected to be sure they have
collected any mail queued on oure system running which is running qmail


Andrew Gray
Network Engineer
NetConnect Communications
Ballarat, Vic., Aust
[EMAIL PROTECTED]







  We've been testing QMail as a replacement mail hub for our old Sendmail
system, but have come against a few brick walls to do with supporting legacy
mainframe mail systems.
  We need to be able to rewrite the address of a recipient while sending to
another host-name.  Adding DNS MX/CNAME records is no good because since the
SMTP process on the mainframes are so cumbersome, in some critical cases we
have to send through one host to another and allow the Mainframe system to
deliver through its MTA to the other host.  This other host also has a
regular SMTP connection, and it's no good having a dedicated Mainframe for
mail.

  With sendmail, we use a rule like:

        R$*<@$*.mf>$*                  $#tcpld$@<host1>$:$1@$2.mf
        R$*<@$*.mf-alerts>$*           $#tcpld$@<host2>$:$1@$2.mf
        R$*<@$*.mf-alerts2>$*          $#tcpld$@<host3>$:$1@$2.mf

...which sets the specific host, and rewrites the address into one that the
Mainframe can recognise.  I worked out a 'hack' using virtual domains ->
alias files and piping the message to qmail-remote, but then had to write a
script to turn qmail-remote's output into error codes:

        |qmail-remote <host2> "$SENDER" `/usr/local/share/substdom -d -m
"$DEFAULT@$HOST" -f "mf-alerts" -t "mf"` | qmail-remote-exit

(where substdom is a simple address re-writing sed script and
qmail-remote-exit turns qmail-remote's output into error codes)

  I'm sure I'm doing it the hard way, but I'm a bit stumped as to where to
go.

  And does anyone know of any utilities for qmail that can do batched SMTP,
similarly to serialmail, but with the same host-redirection/address
rewriting capabilities as above -- even if as a plug-in?


--
Will Robertson.  Unix SysAdmin.  (mailto:[EMAIL PROTECTED])
Data General (Europe)

        I don't suffer from stress... I'm a carrier





Thanks !

-Per




Per Birkeby wrote:
> 
> Thanks !
> 
> -Per


[EMAIL PROTECTED]


jason




Greetings,

I've searched the http://www.ornl.gov/ site for this but couldn't find 
anything that seemed to relate specifically.

(Don't bother trying to look at our dns yet it's only operating behind our 
firewall)

We have two domains, mclachlan.com.au and mclachlanlister.com.au and I've 
set up dns as follows:

mclachlan.com.au IN MX 10 checkov.mclachlan.com.au.  ; Primary Mail 
Exchanger
mclachlanlister.com.au IN MX 10 checkov.mclachlan.com.au.  ; Primary Mail

checkov is the primary and sulu and picard are secondary dns'

but I want checkov to send mail for mclachlan.... to picard and mail for 
mclachlanlister... to sulu, however I do want checkov to be the smtp host 
for both domains. To facilitate this I set up virtualdomains for 
mclachlan... and mclachlanlister.... on checkov as per the FAQ.

I want client's in mclachlanlister to connect to their local server (sulu) 
and clients in mclachlan to connect to their designated server (picard). It 
seems to work OK except that on picard if I try and send to myself (say) by 
typing:

        echo To: [EMAIL PROTECTED] | /var/qmail/bin/qmail-inject

then the message get's bounced because picard can't find the host name. 
This happens for both domains. What I would like to happen is for the mail 
to be delivered locally if either mclachlan or mclachlanlister or sent to 
checkov if for the sister domain (or some external domain). At present the 
local servers are connecting directly rather than sending external mail to 
checkov first (ie. I am using picard for outgoing which connects directly 
to the smtp host).

Any suggestions ?

(Oh incidently checkov and sulu use bind-8 and picard is still using bind-4 
but checkov is the only one that will eventually be visible outside our 
firewall)

Thanks,

Wilson Fletcher


Reply via email to