svn commit: trunk/busybox: archival docs include libbb networking s etc...

aldot at busybox.net aldot at busybox.net
Wed Apr 12 17:55:58 UTC 2006


Author: aldot
Date: 2006-04-12 10:55:51 -0700 (Wed, 12 Apr 2006)
New Revision: 14833

Log:
- patch from Denis Vlasenko to add and use bb_xsocket() and to use
  bb_xopen some more while at it.
  Also use shorter boilerplate while at it.


Added:
   trunk/busybox/libbb/bb_xsocket.c

Modified:
   trunk/busybox/archival/gzip.c
   trunk/busybox/docs/new-applet-HOWTO.txt
   trunk/busybox/include/libbb.h
   trunk/busybox/libbb/Makefile.in
   trunk/busybox/libbb/xconnect.c
   trunk/busybox/networking/arping.c
   trunk/busybox/networking/dnsd.c
   trunk/busybox/networking/ether-wake.c
   trunk/busybox/networking/fakeidentd.c
   trunk/busybox/networking/httpd.c
   trunk/busybox/networking/ifconfig.c
   trunk/busybox/networking/nc.c
   trunk/busybox/networking/route.c
   trunk/busybox/networking/telnetd.c
   trunk/busybox/networking/tftp.c
   trunk/busybox/networking/traceroute.c
   trunk/busybox/networking/vconfig.c
   trunk/busybox/sysklogd/syslogd.c
   trunk/busybox/util-linux/fbset.c
   trunk/busybox/util-linux/mkfs_minix.c
   trunk/busybox/util-linux/mkswap.c


Changeset:
Modified: trunk/busybox/archival/gzip.c
===================================================================
--- trunk/busybox/archival/gzip.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/archival/gzip.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1228,8 +1228,8 @@
 				inFileNum = STDIN_FILENO;
 				outFileNum = STDOUT_FILENO;
 			} else {
-				inFileNum = open(argv[i], O_RDONLY);
-				if (inFileNum < 0 || fstat(inFileNum, &statBuf) < 0)
+				inFileNum = bb_xopen(argv[i], O_RDONLY);
+				if (fstat(inFileNum, &statBuf) < 0)
 					bb_perror_msg_and_die("%s", argv[i]);
 				time_stamp = statBuf.st_ctime;
 				ifile_size = statBuf.st_size;

Modified: trunk/busybox/docs/new-applet-HOWTO.txt
===================================================================
--- trunk/busybox/docs/new-applet-HOWTO.txt	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/docs/new-applet-HOWTO.txt	2006-04-12 17:55:51 UTC (rev 14833)
@@ -28,21 +28,7 @@
  *
  * Copyright (C) [YEAR] by [YOUR NAME] <YOUR EMAIL>
  *
- * This program is free software; you can redistribute it and/or modify
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307 USA
- *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
 #include "busybox.h"
@@ -52,8 +38,7 @@
 	int fd;
 	char mu;
 
-	if ((fd = open("/dev/random", O_RDONLY)) < 0)
-		bb_perror_msg_and_die("/dev/random");
+	fd = bb_xopen("/dev/random", O_RDONLY);
 
 	if ((n = safe_read(fd, &mu, 1)) < 1)
 		bb_perror_msg_and_die("/dev/random");

Modified: trunk/busybox/include/libbb.h
===================================================================
--- trunk/busybox/include/libbb.h	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/include/libbb.h	2006-04-12 17:55:51 UTC (rev 14833)
@@ -145,6 +145,7 @@
 extern void  bb_fflush_stdout_and_exit(int retval) ATTRIBUTE_NORETURN;
 
 extern void xstat(const char *filename, struct stat *buf);
+extern int  bb_xsocket(int domain, int type, int protocol);
 
 #define BB_GETOPT_ERROR 0x80000000UL
 extern const char *bb_opt_complementally;

Modified: trunk/busybox/libbb/Makefile.in
===================================================================
--- trunk/busybox/libbb/Makefile.in	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/libbb/Makefile.in	2006-04-12 17:55:51 UTC (rev 14833)
@@ -30,6 +30,7 @@
 	trim.c u_signal_names.c vdprintf.c verror_msg.c \
 	vherror_msg.c vperror_msg.c wfopen.c xconnect.c xgetcwd.c xstat.c \
 	xgethostbyname.c xgethostbyname2.c xreadlink.c xregcomp.c xgetlarg.c \
+	bb_xsocket.c \
 	get_terminal_width_height.c fclose_nonstdin.c fflush_stdout_and_exit.c \
 	getopt_ulflags.c default_error_retval.c wfopen_input.c speed_table.c \
 	perror_nomsg_and_die.c perror_nomsg.c skip_whitespace.c bb_askpass.c \

Added: trunk/busybox/libbb/bb_xsocket.c
===================================================================
--- trunk/busybox/libbb/bb_xsocket.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/libbb/bb_xsocket.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -0,0 +1,18 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * bb_xsocket.c - a socket() which dies on failure with error message
+ *
+ * Copyright (C) 2006 Denis Vlasenko
+ *
+ * Licensed under LGPL, see file docs/lesser.txt in this tarball for details.
+ */
+#include <sys/socket.h>
+#include "libbb.h"
+
+int bb_xsocket(int domain, int type, int protocol)
+{
+	int r = socket(domain, type, protocol);
+	if (r < 0)
+		bb_perror_msg_and_die("socket");
+	return r;
+}

Modified: trunk/busybox/libbb/xconnect.c
===================================================================
--- trunk/busybox/libbb/xconnect.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/libbb/xconnect.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -61,7 +61,7 @@
 
 int xconnect(struct sockaddr_in *s_addr)
 {
-	int s = socket(AF_INET, SOCK_STREAM, 0);
+	int s = bb_xsocket(AF_INET, SOCK_STREAM, 0);
 	if (connect(s, (struct sockaddr *)s_addr, sizeof(struct sockaddr_in)) < 0)
 	{
 		if (ENABLE_FEATURE_CLEAN_UP) close(s);

Modified: trunk/busybox/networking/arping.c
===================================================================
--- trunk/busybox/networking/arping.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/arping.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,4 +1,4 @@
-/* vi:set ts=4:*/
+/* vi: set sw=4 ts=4: */
 /*
  * arping.c - Ping hosts by ARP requests/replies
  *
@@ -358,7 +358,7 @@
 
 	if (!(cfg&dad) || src.s_addr) {
 		struct sockaddr_in saddr;
-		int probe_fd = socket(AF_INET, SOCK_DGRAM, 0);
+		int probe_fd = socket(AF_INET, SOCK_DGRAM, 0); /* maybe use bb_xsocket? */
 
 		if (probe_fd < 0) {
 			bb_error_msg_and_die("socket");

Modified: trunk/busybox/networking/dnsd.c
===================================================================
--- trunk/busybox/networking/dnsd.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/dnsd.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,3 +1,4 @@
+/* vi: set sw=4 ts=4: */
 /*
  * Mini DNS server implementation for busybox
  *
@@ -204,8 +205,7 @@
 	char msg[100];
 	int s;
 	int yes = 1;
-	if ((s = socket(PF_INET, SOCK_DGRAM, 0)) < 0)
-		bb_perror_msg_and_die("socket() failed");
+	s = bb_xsocket(PF_INET, SOCK_DGRAM, 0);
 #ifdef SO_REUSEADDR
 	if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&yes, sizeof(yes)) < 0)
 		bb_perror_msg_and_die("setsockopt() failed");

Modified: trunk/busybox/networking/ether-wake.c
===================================================================
--- trunk/busybox/networking/ether-wake.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/ether-wake.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,10 +1,8 @@
+/* vi: set sw=4 ts=4: */
 /*
  * ether-wake.c - Send a magic packet to wake up sleeping machines.
  *
- * This program is free software; you can redistribute it and/or
- * modify 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.
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  *
  * Author:      Donald Becker, http://www.scyld.com/"; http://www.scyld.com/wakeonlan.html
  * Busybox port: Christian Volkmann <haveaniceday at online.de>
@@ -95,10 +93,10 @@
  */
 #ifdef PF_PACKET
 # define whereto_t sockaddr_ll
-# define make_socket() socket(PF_PACKET, SOCK_RAW, 0)
+# define make_socket() bb_xsocket(PF_PACKET, SOCK_RAW, 0)
 #else
 # define whereto_t sockaddr
-# define make_socket() socket(AF_INET, SOCK_PACKET, SOCK_PACKET)
+# define make_socket() bb_xsocket(AF_INET, SOCK_PACKET, SOCK_PACKET)
 #endif
 
 #ifdef DEBUG
@@ -145,8 +143,6 @@
 
 	/* create the raw socket */
 	s = make_socket();
-	if (s < 0)
-		bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket);
 
 	/* now that we have a raw socket we can drop root */
 	setuid(getuid());

Modified: trunk/busybox/networking/fakeidentd.c
===================================================================
--- trunk/busybox/networking/fakeidentd.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/fakeidentd.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -6,20 +6,7 @@
  * Original Author: Tomi Ollila <too at iki.fi>
  *                  http://www.guru-group.fi/~too/sw/
  *
- * This program is free software; you can redistribute it and/or modify
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
 #include <unistd.h>
@@ -117,8 +104,7 @@
 	else
 		port = se->s_port;
 
-	if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0)
-		bb_perror_msg_and_die("Cannot create server socket");
+	s = bb_xsocket(AF_INET, SOCK_STREAM, 0);
 
 	setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
 

Modified: trunk/busybox/networking/httpd.c
===================================================================
--- trunk/busybox/networking/httpd.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/httpd.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -6,20 +6,8 @@
  *
  * simplify patch stolen from libbb without using strdup
  *
- * This program is free software; you can redistribute it and/or modify
- * 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.
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
  *****************************************************************************
  *
  * Typical usage:
@@ -959,25 +947,21 @@
   memset(&lsocket, 0, sizeof(lsocket));
   lsocket.sin_family = AF_INET;
   lsocket.sin_addr.s_addr = INADDR_ANY;
-  lsocket.sin_port = htons(config->port) ;
-  fd = socket(AF_INET, SOCK_STREAM, 0);
-  if (fd >= 0) {
-    /* tell the OS it's OK to reuse a previous address even though */
-    /* it may still be in a close down state.  Allows bind to succeed. */
-    int on = 1;
+  lsocket.sin_port = htons(config->port);
+  fd = bb_xsocket(AF_INET, SOCK_STREAM, 0);
+  /* tell the OS it's OK to reuse a previous address even though */
+  /* it may still be in a close down state.  Allows bind to succeed. */
+  int on = 1;
 #ifdef SO_REUSEPORT
-    setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (void *)&on, sizeof(on)) ;
+  setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (void *)&on, sizeof(on)) ;
 #else
-    setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&on, sizeof(on)) ;
+  setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *)&on, sizeof(on)) ;
 #endif
-    if (bind(fd, (struct sockaddr *)&lsocket, sizeof(lsocket)) == 0) {
-      listen(fd, 9);
-      signal(SIGCHLD, SIG_IGN);   /* prevent zombie (defunct) processes */
-    } else {
-	bb_perror_msg_and_die("bind");
-    }
+  if (bind(fd, (struct sockaddr *)&lsocket, sizeof(lsocket)) == 0) {
+    listen(fd, 9);
+    signal(SIGCHLD, SIG_IGN);   /* prevent zombie (defunct) processes */
   } else {
-	bb_perror_msg_and_die("create socket");
+    bb_perror_msg_and_die("bind");
   }
   return fd;
 }

Modified: trunk/busybox/networking/ifconfig.c
===================================================================
--- trunk/busybox/networking/ifconfig.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/ifconfig.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,3 +1,4 @@
+/* vi: set sw=4 ts=4: */
 /* ifconfig
  *
  * Similar to the standard Unix ifconfig, but with only the necessary
@@ -9,14 +10,7 @@
  * Authors of the original ifconfig was:
  *              Fred N. van Kempen, <waltje at uwalt.nl.mugnet.org>
  *
- * This program is free software; you can redistribute it
- * and/or  modify 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.
- *
- * $Id: ifconfig.c,v 1.30 2004/03/31 11:30:08 andersen Exp $
- *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
 /*
@@ -335,9 +329,7 @@
 	}
 
 	/* Create a channel to the NET kernel. */
-	if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
-		bb_perror_msg_and_die("socket");
-	}
+	sockfd = bb_xsocket(AF_INET, SOCK_DGRAM, 0);
 
 	/* get interface name */
 	safe_strncpy(ifr.ifr_name, *argv, IFNAMSIZ);

Modified: trunk/busybox/networking/nc.c
===================================================================
--- trunk/busybox/networking/nc.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/nc.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -10,19 +10,7 @@
     19990512 Uses Select. Charles P. Wright
     19990513 Fixes stdin stupidity and uses buffers.  Charles P. Wright
 
-    This program is free software; you can redistribute it and/or modify
-    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.
-
-    This program 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 this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+    Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
 */
 
 #include <stdio.h>
@@ -87,8 +75,7 @@
 	if ((do_listen && optind != argc) || (!do_listen && optind + 2 != argc))
 		bb_show_usage();
 
-	if ((sfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
-		bb_perror_msg_and_die("socket");
+	sfd = bb_xsocket(AF_INET, SOCK_STREAM, 0);
 	x = 1;
 	if (setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &x, sizeof (x)) == -1)
 		bb_perror_msg_and_die("reuseaddr");

Modified: trunk/busybox/networking/route.c
===================================================================
--- trunk/busybox/networking/route.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/route.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,3 +1,4 @@
+/* vi: set sw=4 ts=4: */
 /* route
  *
  * Similar to the standard Unix route, but with only the necessary
@@ -9,11 +10,7 @@
  *              Fred N. van Kempen, <waltje at uwalt.nl.mugnet.org>
  *              (derived from FvK's 'route.c     1.70    01/04/94')
  *
- * This program is free software; you can redistribute it
- * and/or  modify 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.
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  *
  * $Id: route.c,v 1.26 2004/03/19 23:27:08 mjn3 Exp $
  *
@@ -338,9 +335,7 @@
 	}
 
 	/* Create a socket to the INET kernel. */
-	if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
-		bb_perror_msg_and_die("socket");
-	}
+	skfd = bb_xsocket(AF_INET, SOCK_DGRAM, 0);
 
 	if (ioctl(skfd, ((action==RTACTION_ADD) ? SIOCADDRT : SIOCDELRT), &rt)<0) {
 		bb_perror_msg_and_die("SIOC[ADD|DEL]RT");
@@ -434,9 +429,7 @@
 	}
 
 	/* Create a socket to the INET6 kernel. */
-	if ((skfd = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
-		bb_perror_msg_and_die("socket");
-	}
+	skfd = bb_xsocket(AF_INET6, SOCK_DGRAM, 0);
 
 	rt.rtmsg_ifindex = 0;
 

Modified: trunk/busybox/networking/telnetd.c
===================================================================
--- trunk/busybox/networking/telnetd.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/telnetd.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,10 +1,9 @@
-/* $Id: telnetd.c,v 1.13 2004/09/14 17:24:58 bug1 Exp $
- *
+/* vi:set ts=4:*/
+/*
  * Simple telnet server
  * Bjorn Wesen, Axis Communications AB (bjornw at axis.com)
  *
- * This file is distributed under the Gnu Public License (GPL),
- * please see the file LICENSE for further information.
+ * Licensed under GPL, see file LICENSE in this tarball for details.
  *
  * ---------------------------------------------------------------------------
  * (C) Copyright 2000, Axis Communications AB, LUND, SWEDEN
@@ -446,10 +445,7 @@
 
 	/* Grab a TCP socket.  */
 
-	master_fd = socket(SOCKET_TYPE, SOCK_STREAM, 0);
-	if (master_fd < 0) {
-		bb_perror_msg_and_die("socket");
-	}
+	master_fd = bb_xsocket(SOCKET_TYPE, SOCK_STREAM, 0);
 	(void)setsockopt(master_fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
 
 	/* Set it to listen to specified port.  */

Modified: trunk/busybox/networking/tftp.c
===================================================================
--- trunk/busybox/networking/tftp.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/tftp.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,35 +1,23 @@
-/* ------------------------------------------------------------------------- */
-/* tftp.c					                            */
-/*					                                   */
-/* A simple tftp client for busybox.					 */
-/* Tries to follow RFC1350.					          */
-/* Only "octet" mode supported.					      */
-/* Optional blocksize negotiation (RFC2347 + RFC2348)                        */
-/*					                                   */
-/* Copyright (C) 2001 Magnus Damm <damm at opensource.se>                       */
-/*					                                   */
-/* Parts of the code based on:					       */
-/*					                                   */
-/* atftp:  Copyright (C) 2000 Jean-Pierre Lefebvre <helix at step.polymtl.ca>   */
-/*                        and Remi Lefebvre <remi at debian.org>                */
-/*					                                   */
-/* utftp:  Copyright (C) 1999 Uwe Ohse <uwe at ohse.de>                         */
-/*					                                   */
-/* This program is free software; you can redistribute it and/or modify      */
-/* 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.                                       */
-/*					                                   */
-/* This program 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 this program; if not, write to the Free Software               */
-/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   */
-/*					                                   */
-/* ------------------------------------------------------------------------- */
+/* vi: set sw=4 ts=4: */
+/* -------------------------------------------------------------------------
+ * tftp.c
+ *
+ * A simple tftp client for busybox.
+ * Tries to follow RFC1350.
+ * Only "octet" mode supported.
+ * Optional blocksize negotiation (RFC2347 + RFC2348)
+ *
+ * Copyright (C) 2001 Magnus Damm <damm at opensource.se>
+ *
+ * Parts of the code based on:
+ *
+ * atftp:  Copyright (C) 2000 Jean-Pierre Lefebvre <helix at step.polymtl.ca>
+ *                        and Remi Lefebvre <remi at debian.org>
+ *
+ * utftp:  Copyright (C) 1999 Uwe Ohse <uwe at ohse.de>
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * ------------------------------------------------------------------------- */
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -177,7 +165,7 @@
 
 	tftp_bufsize += 4;
 
-	if ((socketfd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
+	if ((socketfd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) { /* bb_xsocket? */
 		bb_perror_msg("socket");
 		return EXIT_FAILURE;
 	}

Modified: trunk/busybox/networking/traceroute.c
===================================================================
--- trunk/busybox/networking/traceroute.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/traceroute.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -1,3 +1,4 @@
+/* vi: set sw=4 ts=4: */
 /*
  * Copyright (c) 1988, 1989, 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000
  *      The Regents of the University of California.  All rights reserved.
@@ -359,9 +360,7 @@
 	struct ifreq ibuf[(32 * 1024) / sizeof(struct ifreq)], ifr;
 	struct IFADDRLIST *st_ifaddrlist;
 
-	fd = socket(AF_INET, SOCK_DGRAM, 0);
-	if (fd < 0)
-		bb_perror_msg_and_die("socket");
+	fd = bb_xsocket(AF_INET, SOCK_DGRAM, 0);
 
 	ifc.ifc_len = sizeof(ibuf);
 	ifc.ifc_buf = (caddr_t)ibuf;
@@ -1091,8 +1090,7 @@
 	if (n > 2)
 		close(n);
 
-	if ((s = socket(AF_INET, SOCK_RAW, pe->p_proto)) < 0)
-		bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket);
+	s = bb_xsocket(AF_INET, SOCK_RAW, pe->p_proto);
 
 #ifdef CONFIG_FEATURE_TRACEROUTE_SO_DEBUG
 	if (op & USAGE_OP_DEBUG)
@@ -1103,9 +1101,7 @@
 		(void)setsockopt(s, SOL_SOCKET, SO_DONTROUTE, (char *)&on,
 		    sizeof(on));
 
-	sndsock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
-	if (sndsock < 0)
-		bb_perror_msg_and_die(bb_msg_can_not_create_raw_socket);
+	sndsock = bb_xsocket(AF_INET, SOCK_RAW, IPPROTO_RAW);
 
 #ifdef CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
 #if defined(IP_OPTIONS)

Modified: trunk/busybox/networking/vconfig.c
===================================================================
--- trunk/busybox/networking/vconfig.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/networking/vconfig.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -4,20 +4,7 @@
  *
  * Copyright (C) 2001  Manuel Novoa III  <mjn3 at codepoet.org>
  *
- * This program is free software; you can redistribute it and/or modify
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
 /* BB_AUDIT SUSv3 N/A */
@@ -136,9 +123,7 @@
 	}
 
 	/* Don't bother closing the filedes.  It will be closed on cleanup. */
-	if (open(conf_file_name, O_RDONLY) < 0) { /* Is 802.1q is present? */
-	    bb_perror_msg_and_die("open %s", conf_file_name);
-	}
+	bb_xopen(conf_file_name, O_RDONLY);	/* Will die if 802.1q is not present */
 
 	memset(&ifr, 0, sizeof(struct vlan_ioctl_args));
 
@@ -173,10 +158,9 @@
 		}
 	}
 
-	if (((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
-		|| (ioctl(fd, SIOCSIFVLAN, &ifr) < 0)
-		) {
-		bb_perror_msg_and_die("socket or ioctl error for %s", *argv);
+	fd = bb_xsocket(AF_INET, SOCK_STREAM, 0);
+	if (ioctl(fd, SIOCSIFVLAN, &ifr) < 0) {
+		bb_perror_msg_and_die("ioctl error for %s", *argv);
 	}
 
 	return 0;

Modified: trunk/busybox/sysklogd/syslogd.c
===================================================================
--- trunk/busybox/sysklogd/syslogd.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/sysklogd/syslogd.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -369,12 +369,7 @@
 static void init_RemoteLog(void)
 {
 	memset(&remoteaddr, 0, sizeof(remoteaddr));
-	remotefd = socket(AF_INET, SOCK_DGRAM, 0);
-
-	if (remotefd < 0) {
-		bb_error_msg("cannot create socket");
-	}
-
+	remotefd = bb_xsocket(AF_INET, SOCK_DGRAM, 0);
 	remoteaddr.sin_family = AF_INET;
 	remoteaddr.sin_addr = *(struct in_addr *) *(xgethostbyname(RemoteHost))->h_addr_list;
 	remoteaddr.sin_port = htons(RemotePort);
@@ -543,11 +538,7 @@
 	memset(&sunx, 0, sizeof(sunx));
 	sunx.sun_family = AF_UNIX;
 	strncpy(sunx.sun_path, lfile, sizeof(sunx.sun_path));
-	if ((sock_fd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) {
-		bb_perror_msg_and_die("Couldn't get file descriptor for socket "
-						   _PATH_LOG);
-	}
-
+	sock_fd = bb_xsocket(AF_UNIX, SOCK_DGRAM, 0);
 	addrLength = sizeof(sunx.sun_family) + strlen(sunx.sun_path);
 	if (bind(sock_fd, (struct sockaddr *) &sunx, addrLength) < 0) {
 		bb_perror_msg_and_die("Could not connect to socket " _PATH_LOG);

Modified: trunk/busybox/util-linux/fbset.c
===================================================================
--- trunk/busybox/util-linux/fbset.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/util-linux/fbset.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -4,20 +4,8 @@
  *
  * Copyright (C) 1999 by Randolph Chung <tausq at debian.org>
  *
- * This program is free software; you can redistribute it and/or modify
- * 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.
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
  * This is a from-scratch implementation of fbset; but the de facto fbset
  * implementation was a good reference. fbset (original) is released under
  * the GPL, and is (c) 1995-1999 by:
@@ -408,8 +396,7 @@
 		}
 	}
 
-	if ((fh = open(fbdev, O_RDONLY)) < 0)
-		bb_perror_msg_and_die("fbset(open)");
+	fh = bb_xopen(fbdev, O_RDONLY);
 	if (ioctl(fh, FBIOGET_VSCREENINFO, &var))
 		bb_perror_msg_and_die("fbset(ioctl)");
 	if (g_options & OPT_READMODE) {

Modified: trunk/busybox/util-linux/mkfs_minix.c
===================================================================
--- trunk/busybox/util-linux/mkfs_minix.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/util-linux/mkfs_minix.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -307,8 +307,7 @@
 	int fd;
 	long size;
 
-	if ((fd = open(file, O_RDWR)) < 0)
-		bb_perror_msg_and_die("%s", file);
+	fd = bb_xopen(file, O_RDWR);
 	if (ioctl(fd, BLKGETSIZE, &size) >= 0) {
 		close(fd);
 		return (size * 512);
@@ -821,9 +820,7 @@
 	tmp += dirsize;
 	*(short *) tmp = 2;
 	strcpy(tmp + 2, ".badblocks");
-	DEV = open(device_name, O_RDWR);
-	if (DEV < 0)
-		bb_error_msg_and_die("unable to open %s", device_name);
+	DEV = bb_xopen(device_name, O_RDWR);
 	if (fstat(DEV, &statbuf) < 0)
 		bb_error_msg_and_die("unable to stat %s", device_name);
 	if (!S_ISBLK(statbuf.st_mode))

Modified: trunk/busybox/util-linux/mkswap.c
===================================================================
--- trunk/busybox/util-linux/mkswap.c	2006-04-12 17:46:18 UTC (rev 14832)
+++ trunk/busybox/util-linux/mkswap.c	2006-04-12 17:55:51 UTC (rev 14833)
@@ -258,8 +258,7 @@
 	int fd;
 	long size;
 
-	if ((fd = open(file, O_RDONLY)) < 0) /* TODO: bb_xopen3 */
-		bb_perror_msg_and_die("%s", file);
+	fd = bb_xopen(file, O_RDONLY);
 	if (ioctl(fd, BLKGETSIZE, &size) >= 0) {
 		size /= pagesize / 512;
 	} else {
@@ -342,8 +341,8 @@
 				PAGES * goodpages);
 	}
 
-	DEV = open(device_name, O_RDWR);
-	if (DEV < 0 || fstat(DEV, &statbuf) < 0)
+	DEV = bb_xopen(device_name, O_RDWR);
+	if (fstat(DEV, &statbuf) < 0)
 		bb_perror_msg_and_die("%s", device_name);
 	if (!S_ISBLK(statbuf.st_mode))
 		check = 0;




More information about the busybox-cvs mailing list