Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: -current postfix breakage? (on sparc64)



>> In Message <20080717081849.GD8814%drowsy.duskware.de@localhost>
 at Thu, 17 Jul 2008 10:18:49 +0200
 Martin Husemann <martin%duskware.de@localhost> wrote:

 > On Thu, Jul 17, 2008 at 05:04:42PM +0900, 
 > tacha%tack.fukui-med.ac.jp@localhost wrote:
 > > In fact, you can check the situation with a simple program
 > > which I attached below.
 > 
 > >    ssize_t mss;
 > 
 > this needs to be: int mss;
 > 
 > >    /* now check mss */
 > 
 > and here you need to initialize mss_len: mss_len = sizeof(mss);
 > 
 > >    if ((err = getsockopt(s, IPPROTO_TCP, TCP_MAXSEG,
 > >                           (char *) &mss, &mss_len)) < 0) {
 > >            printf("err=%d\n", err);
 > >            exit(1);
 > >    }
 > 
 > With these changes your test program works fine for me.

O.K. Then .../util/vstream_tweak_tcp should use "int mss", too.
Indeed, changed mss to int and postfix/smtp now works on sparc64.
# I have not tested on other archs.

Tacha
Index: vstream_tweak.c
===================================================================
RCS file: 
/cvsroot/NetBSD-cvs/main/src/gnu/dist/postfix/src/util/vstream_tweak.c,v
retrieving revision 1.2
diff -u -r1.2 vstream_tweak.c
--- vstream_tweak.c     22 Jun 2008 14:38:42 -0000      1.2
+++ vstream_tweak.c     17 Jul 2008 08:30:48 -0000
@@ -87,7 +87,7 @@
 int     vstream_tweak_tcp(VSTREAM *fp)
 {
     const char *myname = "vstream_tweak_tcp";
-    ssize_t mss;
+    int mss;
     SOCKOPT_SIZE mss_len = sizeof(mss);
     int     err;
 
@@ -117,7 +121,7 @@
      */
 #ifdef VSTREAM_CTL_BUFSIZE
     if (mss > 0) {
-       if (mss < __MAXINT__(ssize_t) /2)
+       if (mss < __MAXINT__(int) /2)
            mss *= 2;
        vstream_control(fp,
                        VSTREAM_CTL_BUFSIZE, (ssize_t) mss,



Home | Main Index | Thread Index | Old Index