svn commit: r330801 - stable/10/lib/libc/sys

2018-03-12 Thread Brooks Davis
Author: brooks
Date: Mon Mar 12 16:04:10 2018
New Revision: 330801
URL: https://svnweb.freebsd.org/changeset/base/330801

Log:
  MFC r330409:
  
  Refer to SysV IPC permissions as numeric constants.
  
  POSIX defines no macros for these permissions.
  
  Also remove unneeded headers from synopsis.
  
  PR:   225905
  Reviewed by:  wblock
  Differential Revision:https://reviews.freebsd.org/D14461

Modified:
  stable/10/lib/libc/sys/msgget.2
  stable/10/lib/libc/sys/semget.2
  stable/10/lib/libc/sys/shmget.2
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/lib/libc/sys/msgget.2
==
--- stable/10/lib/libc/sys/msgget.2 Mon Mar 12 15:57:55 2018
(r330800)
+++ stable/10/lib/libc/sys/msgget.2 Mon Mar 12 16:04:10 2018
(r330801)
@@ -31,7 +31,7 @@
 .\" $FreeBSD$
 .\"
 .\"/
-.Dd July 9, 2009
+.Dd March 4, 2018
 .Dt MSGGET 2
 .Os
 .Sh NAME
@@ -40,8 +40,6 @@
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
-.In sys/types.h
-.In sys/ipc.h
 .In sys/msg.h
 .Ft int
 .Fn msgget "key_t key" "int msgflg"
@@ -83,7 +81,22 @@ are set to the effective gid of the calling process.
 .It
 .Va msg_perm.mode
 is set to the lower 9 bits of
-.Fa msgflg .
+.Fa msgflg
+which are set by ORing these constants:
+.Bl -tag -width 
+.It Dv 0400
+Read access for user.
+.It Dv 0200
+Write access for user.
+.It Dv 0040
+Read access for group.
+.It Dv 0020
+Write access for group.
+.It Dv 0004
+Read access for other.
+.It Dv 0002
+Write access for other.
+.El
 .It
 .Va msg_cbytes ,
 .Va msg_qnum ,

Modified: stable/10/lib/libc/sys/semget.2
==
--- stable/10/lib/libc/sys/semget.2 Mon Mar 12 15:57:55 2018
(r330800)
+++ stable/10/lib/libc/sys/semget.2 Mon Mar 12 16:04:10 2018
(r330801)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 7, 2016
+.Dd March 4, 2018
 .Dt SEMGET 2
 .Os
 .Sh NAME
@@ -34,8 +34,6 @@
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
-.In sys/types.h
-.In sys/ipc.h
 .In sys/sem.h
 .Ft int
 .Fn semget "key_t key" "int nsems" "int flag"
@@ -77,23 +75,22 @@ may be used to generate a key from a pathname.
 .\" Likewise for this section, except SHM_* becomes SEM_*.
 .\"
 .Pp
-The mode of a newly created IPC object is determined by
-.Em OR Ns 'ing
-the following constants into the
+The mode of a newly created IPC object is determined by ORing these constants
+into the
 .Fa flag
 argument:
-.Bl -tag -width XSEM_WXX6XXX
-.It Dv SEM_R
+.Bl -tag -width 
+.It Dv 0400
 Read access for user.
-.It Dv SEM_A
+.It Dv 0200
 Alter access for user.
-.It Dv ( SEM_R>>3 )
+.It Dv 0040
 Read access for group.
-.It Dv ( SEM_A>>3 )
+.It Dv 0020
 Alter access for group.
-.It Dv ( SEM_R>>6 )
+.It Dv 0004
 Read access for other.
-.It Dv ( SEM_A>>6 )
+.It Dv 0002
 Alter access for other.
 .El
 .Pp

Modified: stable/10/lib/libc/sys/shmget.2
==
--- stable/10/lib/libc/sys/shmget.2 Mon Mar 12 15:57:55 2018
(r330800)
+++ stable/10/lib/libc/sys/shmget.2 Mon Mar 12 16:04:10 2018
(r330801)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 17, 2010
+.Dd March 4, 2018
 .Dt SHMGET 2
 .Os
 .Sh NAME
@@ -34,8 +34,6 @@
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
-.In sys/types.h
-.In sys/ipc.h
 .In sys/shm.h
 .Ft int
 .Fn shmget "key_t key" "size_t size" "int flag"
@@ -74,22 +72,21 @@ may be used to generate a key from a pathname.
 .El
 .Pp
 The mode of a newly created IPC object is determined by
-.Em OR Ns 'ing
-the following constants into the
+which are set by ORing these constants into the
 .Fa flag
 argument:
-.Bl -tag -width XSHM_WXX6XXX
-.It Dv S_IRUSR
+.Bl -tag -width 
+.It Dv 0400
 Read access for owner.
-.It Dv S_IWUSR
+.It Dv 0200
 Write access for owner.
-.It Dv S_IRGRP
+.It Dv 0040
 Read access for group.
-.It Dv S_IWGRP
+.It Dv 0020
 Write access for group.
-.It Dv S_IROTH
+.It Dv 0004
 Read access for other.
-.It Dv S_IWOTH
+.It Dv 0002
 Write access for other.
 .El
 .\"
@@ -142,5 +139,4 @@ already exists.
 .Xr shmat 2 ,
 .Xr shmctl 2 ,
 .Xr shmdt 2 ,
-.Xr stat 2 ,
 .Xr ftok 3
___
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"


svn commit: r330805 - stable/10/usr.sbin/ppp

2018-03-12 Thread Eugene Grosbein
Author: eugen
Date: Mon Mar 12 17:37:38 2018
New Revision: 330805
URL: https://svnweb.freebsd.org/changeset/base/330805

Log:
  MFC r329105: ppp(8): fix code producing debugging logs
  
ppp(8): fix code producing debugging logs
  
Fix several cases when long buffer is copied to shorter one
using snprintf that results in contents truncation and
clobbering unsaved errno value and creation of misleading logs.
  
  PR:   218517
  Approved by:  mav (mentor)

Modified:
  stable/10/usr.sbin/ppp/defs.h
  stable/10/usr.sbin/ppp/iface.c
  stable/10/usr.sbin/ppp/ip.c
  stable/10/usr.sbin/ppp/ipv6cp.c
  stable/10/usr.sbin/ppp/ncpaddr.c
  stable/10/usr.sbin/ppp/route.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/ppp/defs.h
==
--- stable/10/usr.sbin/ppp/defs.h   Mon Mar 12 17:36:37 2018
(r330804)
+++ stable/10/usr.sbin/ppp/defs.h   Mon Mar 12 17:37:38 2018
(r330805)
@@ -117,6 +117,8 @@
 
 #define ROUNDUP(x) ((x) ? (1 + (((x) - 1) | (sizeof(long) - 1))) : 
sizeof(long))
 
+#define NCP_ASCIIBUFFERSIZE52
+
 #ifdef __NetBSD__
 extern void randinit(void);
 #else

Modified: stable/10/usr.sbin/ppp/iface.c
==
--- stable/10/usr.sbin/ppp/iface.c  Mon Mar 12 17:36:37 2018
(r330804)
+++ stable/10/usr.sbin/ppp/iface.c  Mon Mar 12 17:37:38 2018
(r330805)
@@ -209,7 +209,7 @@ iface_addr_Zap(const char *name, struct iface_addr *ad
 #endif
   struct sockaddr_in *me4, *msk4, *peer4;
   struct sockaddr_storage ssme, sspeer, ssmsk;
-  int res;
+  int res, saved_errno;
 
   ncprange_getsa(>ifa, , );
   ncpaddr_getsa(>peer, );
@@ -235,8 +235,9 @@ iface_addr_Zap(const char *name, struct iface_addr *ad
   memcpy(peer4, , sizeof *peer4);
 
 res = ID0ioctl(s, SIOCDIFADDR, );
+saved_errno = errno;
 if (log_IsKept(LogDEBUG)) {
-  char buf[100];
+  char buf[NCP_ASCIIBUFFERSIZE];
 
   snprintf(buf, sizeof buf, "%s", ncprange_ntoa(>ifa));
   log_Printf(LogWARN, "%s: DIFADDR %s -> %s returns %d\n",
@@ -260,12 +261,13 @@ iface_addr_Zap(const char *name, struct iface_addr *ad
 ifra6.ifra_lifetime.ia6t_pltime = ND6_INFINITE_LIFETIME;
 
 res = ID0ioctl(s, SIOCDIFADDR_IN6, );
+saved_errno = errno;
 break;
 #endif
   }
 
   if (res == -1) {
-char dst[40];
+char dst[NCP_ASCIIBUFFERSIZE];
 const char *end =
 #ifndef NOINET6
   ncprange_family(>ifa) == AF_INET6 ? "_IN6" :
@@ -274,11 +276,11 @@ iface_addr_Zap(const char *name, struct iface_addr *ad
 
 if (ncpaddr_family(>peer) == AF_UNSPEC)
   log_Printf(LogWARN, "iface rm: ioctl(SIOCDIFADDR%s, %s): %s\n",
- end, ncprange_ntoa(>ifa), strerror(errno));
+ end, ncprange_ntoa(>ifa), strerror(saved_errno));
 else {
   snprintf(dst, sizeof dst, "%s", ncpaddr_ntoa(>peer));
   log_Printf(LogWARN, "iface rm: ioctl(SIOCDIFADDR%s, %s -> %s): %s\n",
- end, ncprange_ntoa(>ifa), dst, strerror(errno));
+ end, ncprange_ntoa(>ifa), dst, strerror(saved_errno));
 }
   }
 
@@ -294,7 +296,7 @@ iface_addr_Add(const char *name, struct iface_addr *ad
 #endif
   struct sockaddr_in *me4, *msk4, *peer4;
   struct sockaddr_storage ssme, sspeer, ssmsk;
-  int res;
+  int res, saved_errno;
 
   ncprange_getsa(>ifa, , );
   ncpaddr_getsa(>peer, );
@@ -320,8 +322,9 @@ iface_addr_Add(const char *name, struct iface_addr *ad
   memcpy(peer4, , sizeof *peer4);
 
 res = ID0ioctl(s, SIOCAIFADDR, );
+saved_errno = errno;
 if (log_IsKept(LogDEBUG)) {
-  char buf[100];
+  char buf[NCP_ASCIIBUFFERSIZE];
 
   snprintf(buf, sizeof buf, "%s", ncprange_ntoa(>ifa));
   log_Printf(LogWARN, "%s: AIFADDR %s -> %s returns %d\n",
@@ -345,12 +348,13 @@ iface_addr_Add(const char *name, struct iface_addr *ad
 ifra6.ifra_lifetime.ia6t_pltime = ND6_INFINITE_LIFETIME;
 
 res = ID0ioctl(s, SIOCAIFADDR_IN6, );
+saved_errno = errno;
 break;
 #endif
   }
 
   if (res == -1) {
-char dst[40];
+char dst[NCP_ASCIIBUFFERSIZE];
 const char *end =
 #ifndef NOINET6
   ncprange_family(>ifa) == AF_INET6 ? "_IN6" :
@@ -359,11 +363,11 @@ iface_addr_Add(const char *name, struct iface_addr *ad
 
 if (ncpaddr_family(>peer) == AF_UNSPEC)
   log_Printf(LogWARN, "iface add: ioctl(SIOCAIFADDR%s, %s): %s\n",
- end, ncprange_ntoa(>ifa), strerror(errno));
+ end, ncprange_ntoa(>ifa), strerror(saved_errno));
 else {
   snprintf(dst, sizeof dst, "%s", ncpaddr_ntoa(>peer));
   log_Printf(LogWARN, "iface add: ioctl(SIOCAIFADDR%s, %s -> %s): %s\n",
- end, ncprange_ntoa(>ifa), dst, strerror(errno));
+ end, ncprange_ntoa(>ifa), dst, strerror(saved_errno));
 }
   }
 

Modified: stable/10/usr.sbin/ppp/ip.c