/* -*-c-*-
*
- * $Id: socket.c,v 1.11 2003/11/29 20:36:07 mdw Exp $
- *
* Socket source and target definitions
*
* (c) 1999 Straylight/Edgeware
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of the `fw' port forwarder.
*
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* `fw' is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with `fw'; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: socket.c,v $
- * Revision 1.11 2003/11/29 20:36:07 mdw
- * Privileged outgoing connections.
- *
- * Revision 1.10 2003/11/25 14:08:23 mdw
- * Debianization. Socket target options. Internet binding.
- *
- * Revision 1.9 2002/02/23 00:08:00 mdw
- * Fix stupid bugs from the listen(2) change.
- *
- * Revision 1.8 2002/02/22 23:44:44 mdw
- * Call @xfree@ rather than @free@. Add option to change the listen(2)
- * parameter.
- *
- * Revision 1.7 2001/06/22 19:37:00 mdw
- * New @conn_init@ interface.
- *
- * Revision 1.6 2001/02/03 20:30:03 mdw
- * Support re-reading config files on SIGHUP.
- *
- * Revision 1.5 2000/03/23 23:20:42 mdw
- * Remove listener even if connection option isn't SOCKOPT_LIMITED.
- *
- * Revision 1.4 1999/12/22 15:44:25 mdw
- * Fix log message.
- *
- * Revision 1.3 1999/10/22 22:48:36 mdw
- * New connection options: unlimited concurrent connections, and one-shot
- * listening sockets.
- *
- * Revision 1.2 1999/07/27 18:30:53 mdw
- * Various minor portability fixes.
- *
- * Revision 1.1 1999/07/26 23:33:32 mdw
- * New sources and targets.
- *
- */
-
-/*----- Header files ------------------------------------------------------*/
-
-#include "config.h"
-
-#include <ctype.h>
-#include <errno.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-
-#include <mLib/alloc.h>
-#include <mLib/conn.h>
-#include <mLib/dstr.h>
-#include <mLib/fdflags.h>
-#include <mLib/sel.h>
-#include <mLib/sub.h>
-
-#include "addr.h"
-#include "conf.h"
-#include "endpt.h"
#include "fw.h"
-#include "scan.h"
-#include "socket.h"
-#include "target.h"
-
-#include "inet.h"
-#include "un.h"
/*----- Data structures ---------------------------------------------------*/
ss->a = getaddr(sc, ADDR_SRC);
if (ss->a->ops->initsrcopts)
ss->ao = ss->a->ops->initsrcopts();
- else
+ else {
ss->ao = CREATE(addr_opts);
- *ss->ao = gsao;
+ *ss->ao = gsao;
+ }
ss->o = ssgo;
return (&ss->s);
}
st->a = getaddr(sc, ADDR_DEST);
if (st->a->ops->inittargopts)
st->ao = st->a->ops->inittargopts();
- else
+ else {
st->ao = CREATE(addr_opts);
- *st->ao = gtao;
+ *st->ao = gtao;
+ }
dstr_puts(&d, "socket.");
st->a->ops->print(st->a, ADDR_DEST, &d);
st->t.desc = xstrdup(d.buf);