Bug in latest netatalk snapshot


Subject: Bug in latest netatalk snapshot
From: Donald Lee (donlee_nat@icompute.com)
Date: Mon Feb 28 2000 - 01:45:45 EST


Last I checked, there was an apparent bug in libatalk/dsi/dsi_tcp.c
where I was getting the "dsi_tcp_open: sigaction: Invalid argument"
(at least that's what I remember...)

In any case, I tracked it down to the following place in the code.
The newact and oldact structs were stack based and were not
initialized. They were therefore somewhat random. I think
folks have been lucky...

I'd submit a patch, but I don't know how.

-dgl-

*** netatalk-1.4b2+asun2.1.3/libatalk/dsi/dsi_tcp.c Wed Nov 18 01:59:25 1998
--- fixed/libatalk/dsi/dsi_tcp.c Mon Feb 28 00:35:21 2000
***************
*** 102,119 ****
--- 102,124 ----
      signal(SIGTERM, SIG_DFL);
      signal(SIGHUP, SIG_DFL);

      /* install an alarm to deal with non-responsive connections */
      if (setitimer(ITIMER_REAL, &timer, 0) < 0) {
        syslog(LOG_ERR, "dsi_tcp_open: setitimer: %m");
        exit(1);
      }
      newact.sa_handler = timeout_handler;
+ sigemptyset(&newact.sa_mask);
+ newact.sa_flags = 0;
+ oldact.sa_handler = NULL;
+ sigemptyset(&oldact.sa_mask);
+ oldact.sa_flags = 0;
      if (sigaction(SIGALRM, &newact, &oldact) < 0) {
        syslog(LOG_ERR, "dsi_tcp_open: sigaction: %m");
        exit(1);
      }

      /* read in commands. this is similar to dsi_receive except
       * for the fact that we do some sanity checking to prevent
       * delinquent connections from causing mischief. */



This archive was generated by hypermail 2b28 : Wed Jan 17 2001 - 14:30:10 EST