PERFORCE change 114176 for review
Michael Bushkov
bushman at FreeBSD.org
Wed Feb 7 15:58:19 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=114176
Change 114176 by bushman at bushman_nss_ldap_cached on 2007/02/07 15:57:52
IFC
Affected files ...
.. //depot/projects/soc2006/nss_ldap_cached/src/etc/periodic/security/800.loginfail#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/include/rpc/auth_kerb.h#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/include/tgmath.h#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/C.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/fortran.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/tree.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getent/getent.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/yacc.y#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplist/ncplist.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplogin/ncplogin.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/quota/quota.c#3 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/apmd/apmd.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/apmd/contrib/pccardq.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#3 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/edquota/edquota.8#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/edquota/edquota.c#3 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/iostat/iostat.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.8#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.c#8 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ngctl/dot.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ngctl/list.c#3 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ngctl/main.c#4 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ngctl/show.c#3 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pciconf/Makefile#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pciconf/cap.c#1 branch
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pciconf/pciconf.8#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pciconf/pciconf.c#2 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pciconf/pciconf.h#1 branch
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/quotaon/quotaon.c#3 integrate
.. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/repquota/repquota.c#2 integrate
Differences ...
==== //depot/projects/soc2006/nss_ldap_cached/src/etc/periodic/security/800.loginfail#2 (text+ko) ====
@@ -24,7 +24,7 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $FreeBSD: src/etc/periodic/security/800.loginfail,v 1.6 2006/03/05 15:45:38 matteo Exp $
+# $FreeBSD: src/etc/periodic/security/800.loginfail,v 1.7 2007/02/05 16:36:25 jdp Exp $
#
# Show login failures
@@ -59,7 +59,7 @@
[Yy][Ee][Ss])
echo ""
echo "${host} login failures:"
- n=$(catmsgs | grep -ia "^$yesterday.*(fail|invalid|bad|illegal)" |
+ n=$(catmsgs | egrep -ia "^$yesterday.*(fail|invalid|bad|illegal)" |
tee /dev/stderr | wc -l)
[ $n -gt 0 ] && rc=1 || rc=0;;
*) rc=0;;
==== //depot/projects/soc2006/nss_ldap_cached/src/include/rpc/auth_kerb.h#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/include/rpc/auth_kerb.h,v 1.2 2002/09/04 23:58:23 alfred Exp $ */
+/* $FreeBSD: src/include/rpc/auth_kerb.h,v 1.3 2007/02/02 18:11:18 schweikh Exp $ */
/*
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
* unrestricted use provided that this legend is included on all tape
@@ -6,23 +6,23 @@
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
- *
+ *
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
+ *
* Sun RPC is provided with no support and without any obligation on the
* part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
- *
+ *
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
* OR ANY PART THEREOF.
- *
+ *
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Sun has been advised of the possibility of such damages.
- *
+ *
* Sun Microsystems, Inc.
* 2550 Garcia Avenue
* Mountain View, California 94043
@@ -137,5 +137,5 @@
extern int svc_kerb_reg(SVCXPRT *, char *, char *, char *);
extern enum auth_stat _svcauth_kerb(struct svc_req *, struct rpc_msg *);
-#endif KERBEROS
+#endif /* KERBEROS */
#endif /* !_RPC_AUTH_KERB_H */
==== //depot/projects/soc2006/nss_ldap_cached/src/include/tgmath.h#2 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/include/tgmath.h,v 1.4 2004/09/03 23:44:09 stefanf Exp $
+ * $FreeBSD: src/include/tgmath.h,v 1.5 2007/02/02 18:30:23 schweikh Exp $
*/
#ifndef _TGMATH_H_
@@ -64,8 +64,8 @@
#define __tg_is_complex(e1, e2, e3) \
(__tg_type3(e1, e2, e3, float _Complex) || \
__tg_type3(e1, e2, e3, double _Complex) || \
- __tg_type3(e1, e2, e3, long double _Complex)) || \
- __tg_type3(e1, e2, e3, __typeof__(_Complex_I))
+ __tg_type3(e1, e2, e3, long double _Complex) || \
+ __tg_type3(e1, e2, e3, __typeof__(_Complex_I)))
#define __tg_impl_simple(x, y, z, fn, fnf, fnl, ...) \
__builtin_choose_expr(__tg_type_corr(x, y, z, long double), \
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/C.c#2 (text+ko) ====
@@ -38,7 +38,7 @@
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/ctags/C.c,v 1.11 2002/07/28 15:50:38 dwmalone Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/ctags/C.c,v 1.12 2007/02/04 20:07:07 rse Exp $");
#include <limits.h>
#include <stdio.h>
@@ -114,7 +114,7 @@
*/
case '"':
case '\'':
- (void)skip_string(c);
+ skip_string(c);
break;
/*
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/fortran.c#2 (text+ko) ====
@@ -38,7 +38,7 @@
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/ctags/fortran.c,v 1.12 2002/07/28 15:50:38 dwmalone Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/ctags/fortran.c,v 1.13 2007/02/04 20:06:10 rse Exp $");
#include <ctype.h>
#include <limits.h>
@@ -124,7 +124,7 @@
continue;
for (cp = lbp + 1; *cp && intoken(*cp); ++cp)
continue;
- if ((cp = lbp + 1))
+ if (cp == lbp + 1)
continue;
*cp = EOS;
(void)strlcpy(tok, lbp, sizeof(tok)); /* possible trunc */
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/tree.c#2 (text+ko) ====
@@ -38,7 +38,7 @@
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/ctags/tree.c,v 1.11 2002/07/28 15:50:38 dwmalone Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/ctags/tree.c,v 1.12 2007/02/04 20:04:29 rse Exp $");
#include <err.h>
#include <limits.h>
@@ -126,10 +126,12 @@
static void
free_tree(NODE *node)
{
+ NODE *node_next;
while (node) {
if (node->right)
free_tree(node->right);
+ node_next = node->left;
free(node);
- node = node->left;
+ node = node_next;
}
}
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getent/getent.c#2 (text) ====
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/getent/getent.c,v 1.2 2006/05/04 11:28:16 ume Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/getent/getent.c,v 1.3 2007/02/04 20:52:57 rse Exp $");
#include <sys/socket.h>
#include <sys/param.h>
@@ -77,7 +77,7 @@
RV_OK = 0,
RV_USAGE = 1,
RV_NOTFOUND = 2,
- RV_NOENUM = 3,
+ RV_NOENUM = 3
};
static struct getentdb {
@@ -109,7 +109,6 @@
for (curdb = databases; curdb->name != NULL; curdb++) {
if (strcmp(curdb->name, argv[1]) == 0) {
exit(curdb->callback(argc, argv));
- break;
}
}
fprintf(stderr, "Unknown database: %s\n", argv[1]);
@@ -178,6 +177,7 @@
curpref = sep;
}
printf("\n");
+ va_end(ap);
}
/*
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/yacc.y#2 (text+ko) ====
@@ -42,7 +42,7 @@
#endif /* not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/mklocale/yacc.y,v 1.25 2005/05/16 09:32:41 ru Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/mklocale/yacc.y,v 1.26 2007/02/06 08:48:28 kevlo Exp $");
#include <arpa/inet.h>
@@ -227,7 +227,7 @@
fp = stdout;
- while ((x = getopt(ac, av, "do:")) != EOF) {
+ while ((x = getopt(ac, av, "do:")) != -1) {
switch(x) {
case 'd':
debug = 1;
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplist/ncplist.c#2 (text+ko) ====
@@ -32,7 +32,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/ncplist/ncplist.c,v 1.2 2002/04/28 12:21:31 markm Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/ncplist/ncplist.c,v 1.3 2007/02/05 07:35:23 kevlo Exp $");
#include <sys/param.h>
#include <sys/time.h>
@@ -380,7 +380,7 @@
bzero(args, sizeof(args));
what = LO_NONE;
- while ((opt = getopt(argc, argv, "h")) != EOF) {
+ while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h': case '?':
help();
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplogin/ncplogin.c#2 (text+ko) ====
@@ -32,7 +32,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/ncplogin/ncplogin.c,v 1.4 2002/09/04 23:29:04 dwmalone Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/ncplogin/ncplogin.c,v 1.5 2007/02/05 07:35:23 kevlo Exp $");
#include <sys/types.h>
#include <sys/errno.h>
@@ -69,7 +69,7 @@
login(int argc, char *argv[], struct ncp_conn_loginfo *li) {
int error = 0, connid, opt, setprimary = 0;
- while ((opt = getopt(argc, argv, STDPARAM_OPT"D")) != EOF){
+ while ((opt = getopt(argc, argv, STDPARAM_OPT"D")) != -1) {
switch(opt){
case STDPARAM_ARGS:
if (ncp_li_arg(li, opt, optarg))
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/quota/quota.c#3 (text+ko) ====
@@ -48,7 +48,7 @@
* Disk quota reporting program.
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/quota/quota.c,v 1.26 2007/02/01 08:37:44 mpp Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/quota/quota.c,v 1.28 2007/02/04 14:06:58 mpp Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -85,7 +85,7 @@
char fsname[MAXPATHLEN + 1];
};
-static const char *timeprt(time_t seconds);
+static char *timeprt(time_t seconds, int *needfree);
static struct quotause *getprivs(long id, int quotatype);
static void usage(void);
static int showuid(u_long uid);
@@ -271,6 +271,8 @@
struct quotause *quplist;
const char *msgi, *msgb;
const char *nam;
+ char *bgrace, *igrace;
+ int bfree, ifree;
int lines = 0, overquota = 0;
static time_t now;
@@ -348,16 +350,22 @@
, (u_long) (dbtob(qup->dqblk.dqb_bhardlimit)
/ 1024));
}
+ if (msgb != NULL)
+ bgrace = timeprt(qup->dqblk.dqb_btime, &bfree);
+ if (msgi != NULL)
+ igrace = timeprt(qup->dqblk.dqb_itime, &ifree);
printf("%8s%8lu%c%7lu%8lu%8s\n"
- , (msgb == (char *)0) ? ""
- :timeprt(qup->dqblk.dqb_btime)
+ , (msgb == (char *)0) ? "" : bgrace
, (u_long)qup->dqblk.dqb_curinodes
, (msgi == (char *)0) ? ' ' : '*'
, (u_long)qup->dqblk.dqb_isoftlimit
, (u_long)qup->dqblk.dqb_ihardlimit
- , (msgi == (char *)0) ? ""
- : timeprt(qup->dqblk.dqb_itime)
+ , (msgi == (char *)0) ? "" : igrace
);
+ if (msgb != NULL && bfree)
+ free(bgrace);
+ if (msgi != NULL && ifree)
+ free(igrace);
continue;
}
}
@@ -390,30 +398,38 @@
/*
* Calculate the grace period and return a printable string for it.
*/
-static const char *
-timeprt(time_t seconds)
+static char *
+timeprt(time_t seconds, int *needfree)
{
time_t hours, minutes;
- static char buf[20];
+ char *buf;
static time_t now;
if (now == 0)
time(&now);
- if (now > seconds)
+ if (now > seconds) {
+ *needfree = 0;
return ("none");
+ }
seconds -= now;
minutes = (seconds + 30) / 60;
hours = (minutes + 30) / 60;
if (hours >= 36) {
- sprintf(buf, "%lddays", ((long)hours + 12) / 24);
+ if (asprintf(&buf, "%lddays", ((long)hours + 12) / 24) < 0)
+ errx(1, "asprintf failed in timeprt(1)");
+ *needfree = 1;
return (buf);
}
if (minutes >= 60) {
- sprintf(buf, "%2ld:%ld", (long)minutes / 60,
- (long)minutes % 60);
+ if (asprintf(&buf, "%2ld:%ld", (long)minutes / 60,
+ (long)minutes % 60) < 0)
+ errx(1, "asprintf failed in timeprt(2)");
+ *needfree = 1;
return (buf);
}
- sprintf(buf, "%2ld", (long)minutes);
+ if (asprintf(&buf, "%2ld", (long)minutes) < 0)
+ errx(1, "asprintf failed in timeprt(3)");
+ *needfree = 1;
return (buf);
}
@@ -483,13 +499,17 @@
static int
ufshasquota(struct fstab *fs, int type, char **qfnamep)
{
+ char *opt;
+ char *cp;
+ struct statfs sfb;
static char initname, usrname[100], grpname[100];
static char buf[BUFSIZ];
- char *opt, *cp;
if (!initname) {
- sprintf(usrname, "%s%s", qfextension[USRQUOTA], qfname);
- sprintf(grpname, "%s%s", qfextension[GRPQUOTA], qfname);
+ (void)snprintf(usrname, sizeof(usrname), "%s%s",
+ qfextension[USRQUOTA], qfname);
+ (void)snprintf(grpname, sizeof(grpname), "%s%s",
+ qfextension[GRPQUOTA], qfname);
initname = 1;
}
strcpy(buf, fs->fs_mntops);
@@ -503,12 +523,22 @@
}
if (!opt)
return (0);
- if (cp) {
+ if (cp)
*qfnamep = cp;
- return (1);
+ else {
+ (void)snprintf(buf, sizeof(buf), "%s/%s.%s", fs->fs_file,
+ qfname, qfextension[type]);
+ *qfnamep = buf;
+ }
+ if (statfs(fs->fs_file, &sfb) != 0) {
+ warn("cannot statfs mount point %s", fs->fs_file);
+ return (0);
+ }
+ if (strcmp(fs->fs_file, sfb.f_mntonname)) {
+ warnx("%s not mounted for %s quotas", fs->fs_file,
+ type == USRQUOTA ? "user" : "group");
+ return (0);
}
- (void) sprintf(buf, "%s/%s.%s", fs->fs_file, qfname, qfextension[type]);
- *qfnamep = buf;
return (1);
}
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/apmd/apmd.c#2 (text+ko) ====
@@ -29,7 +29,7 @@
#ifndef lint
static const char rcsid[] =
- "$FreeBSD: src/usr.sbin/apmd/apmd.c,v 1.8 2005/03/24 01:26:40 mdodd Exp $";
+ "$FreeBSD: src/usr.sbin/apmd/apmd.c,v 1.9 2007/02/05 07:35:23 kevlo Exp $";
#endif /* not lint */
#include <assert.h>
@@ -650,7 +650,7 @@
char *prog;
int logopt = LOG_NDELAY | LOG_PID;
- while ((ch = getopt(ac, av, "df:sv")) != EOF) {
+ while ((ch = getopt(ac, av, "df:sv")) != -1) {
switch (ch) {
case 'd':
daemonize = 0;
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/apmd/contrib/pccardq.c#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/usr.sbin/apmd/contrib/pccardq.c,v 1.5 2001/08/20 15:09:32 brian Exp $ */
+/* $FreeBSD: src/usr.sbin/apmd/contrib/pccardq.c,v 1.6 2007/02/05 07:35:23 kevlo Exp $ */
#include <err.h>
#include <errno.h>
@@ -36,7 +36,7 @@
tmp_dir = getenv("TMPDIR") ? getenv("TMPDIR") : tmp_dir;
- while ((ch = getopt(ac, av, "ans:")) != EOF) {
+ while ((ch = getopt(ac, av, "ans:")) != -1) {
switch (ch) {
case 'a':
slot_map = ~0;
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#3 (text+ko) ====
@@ -26,7 +26,7 @@
* Bridge MIB implementation for SNMPd.
* Bridge OS specific ioctls.
*
- * $FreeBSD: src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c,v 1.5 2006/12/29 19:23:38 bz Exp $
+ * $FreeBSD: src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c,v 1.6 2007/02/04 13:31:05 syrinx Exp $
*/
#include <sys/ioctl.h>
@@ -36,9 +36,7 @@
#include <sys/socket.h>
#include <sys/sysctl.h>
-#if __FreeBSD_version > 700018
#include <net/bridgestp.h>
-#endif
#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_bridgevar.h>
@@ -238,10 +236,8 @@
bif->max_age = 100 * b_req.ifbop_maxage;
bif->hello_time = 100 * b_req.ifbop_hellotime;
bif->fwd_delay = 100 * b_req.ifbop_fwddelay;
-#if __FreeBSD_version > 700024
bif->stp_version = b_req.ifbop_protocol;
bif->tx_hold_count = b_req.ifbop_holdcount;
-#endif
if (b_req.ifbop_root_port == 0 &&
bif->root_port != b_req.ifbop_root_port)
@@ -436,7 +432,6 @@
bridge_set_tx_hold_count(struct bridge_if *bif __unused,
int32_t tx_hc __unused)
{
-#if __FreeBSD_version > 700024
struct ifdrv ifd;
struct ifbrparam b_param;
@@ -457,16 +452,12 @@
bif->tx_hold_count = b_param.ifbrp_txhc;
return (0);
-#else
- return (-1);
-#endif
}
int
bridge_set_stp_version(struct bridge_if *bif __unused,
int32_t stp_proto __unused)
{
-#if __FreeBSD_version > 700024
struct ifdrv ifd;
struct ifbrparam b_param;
@@ -484,9 +475,6 @@
bif->stp_version = b_param.ifbrp_proto;
return (0);
-#else
- return (-1);
-#endif
}
/*
@@ -643,9 +631,7 @@
case BSTP_IFSTATE_FORWARDING:
return (StpPortState_forwarding);
case BSTP_IFSTATE_BLOCKING:
-#if __FreeBSD_version > 700024
case BSTP_IFSTATE_DISCARDING:
-#endif
return (StpPortState_blocking);
}
@@ -671,12 +657,11 @@
* the maximum value."
*/
-#if __FreeBSD_version > 700024
if (k_info->ifbr_ifsflags & IFBIF_BSTP_ADMCOST)
bp->admin_path_cost = k_info->ifbr_path_cost;
else
bp->admin_path_cost = 0;
-#endif
+
bp->path_cost = k_info->ifbr_path_cost;
if (k_info->ifbr_ifsflags & IFBIF_STP)
@@ -690,7 +675,6 @@
else
bp->span_enable = begemotBridgeBaseSpanEnabled_disabled;
-#if __FreeBSD_version > 700024
if (k_info->ifbr_ifsflags & IFBIF_BSTP_ADMEDGE)
bp->admin_edge = TruthValue_true;
else
@@ -714,7 +698,6 @@
bp->admin_ptp = StpPortAdminPointToPointType_forceFalse;
bp->oper_ptp = TruthValue_false;
}
-#endif
}
/*
@@ -830,11 +813,9 @@
struct ifdrv ifd;
struct ifbreq b_req;
-#if __FreeBSD_version < 700025
if (path_cost < SNMP_PORT_MIN_PATHCOST ||
path_cost > SNMP_PORT_PATHCOST_OBSOLETE)
return (-2);
-#endif
strlcpy(ifd.ifd_name, bif_name, sizeof(ifd.ifd_name));
ifd.ifd_len = sizeof(b_req);
@@ -850,11 +831,7 @@
return (-1);
}
-#if __FreeBSD_version > 700024
bp->admin_path_cost = path_cost;
-#else
- bp->path_cost = path_cost;
-#endif
return (0);
}
@@ -866,7 +843,6 @@
bridge_port_set_admin_ptp(const char *bif_name __unused,
struct bridge_port *bp __unused, uint32_t admin_ptp __unused)
{
-#if __FreeBSD_version > 700024
struct ifdrv ifd;
struct ifbreq b_req;
@@ -909,9 +885,6 @@
bp->admin_ptp = admin_ptp;
return (0);
-#else
- return (-1);
-#endif
}
/*
@@ -921,7 +894,6 @@
bridge_port_set_admin_edge(const char *bif_name __unused,
struct bridge_port *bp __unused, uint32_t enable __unused)
{
-#if __FreeBSD_version > 700024
struct ifdrv ifd;
struct ifbreq b_req;
@@ -955,10 +927,8 @@
}
bp->admin_edge = enable;
+
return (0);
-#else
- return (-1);
-#endif
}
/*
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/edquota/edquota.8#2 (text+ko) ====
@@ -29,7 +29,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)edquota.8 8.1 (Berkeley) 6/6/93
-.\" $FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.23 2005/01/18 20:02:33 ru Exp $
+.\" $FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.24 2007/02/04 14:26:01 mpp Exp $
.\"
.Dd June 6, 1993
.Dt EDQUOTA 8
@@ -222,6 +222,8 @@
grace period should be imposed.
Setting a grace period to one second indicates that no
grace period should be granted.
+Quotas must be turned off for the file system and
+then turned back on for the new grace period to take effect.
.Pp
Only the super-user may edit quotas.
.Sh FILES
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/edquota/edquota.c#3 (text+ko) ====
@@ -43,7 +43,7 @@
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.sbin/edquota/edquota.c,v 1.24 2006/09/14 04:45:44 charnier Exp $");
+__FBSDID("$FreeBSD: src/usr.sbin/edquota/edquota.c,v 1.26 2007/02/04 06:33:14 mpp Exp $");
/*
* Disk quota editor.
@@ -52,6 +52,7 @@
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/file.h>
+#include <sys/mount.h>
#include <sys/wait.h>
#include <ufs/ufs/quota.h>
#include <ctype.h>
@@ -375,7 +376,13 @@
getentry(quotagroup, GRPQUOTA));
(void) fchmod(fd, 0640);
}
- lseek(fd, (long)(id * sizeof(struct dqblk)), L_SET);
+ if (lseek(fd, (off_t)id * sizeof(struct dqblk),
+ L_SET) < 0) {
+ warn("seek error on %s", qfpathname);
+ close(fd);
+ free(qup);
+ continue;
+ }
switch (read(fd, &qup->dqblk, sizeof(struct dqblk))) {
case 0: /* EOF */
/*
@@ -421,21 +428,70 @@
{
register struct quotause *qup;
int qcmd, fd;
+ struct dqblk dqbuf;
qcmd = QCMD(Q_SETQUOTA, quotatype);
for (qup = quplist; qup; qup = qup->next) {
if (quotactl(qup->fsname, qcmd, id, &qup->dqblk) == 0)
continue;
- if ((fd = open(qup->qfname, O_WRONLY)) < 0) {
+ if ((fd = open(qup->qfname, O_RDWR)) < 0) {
warn("%s", qup->qfname);
- } else {
- lseek(fd, (long)id * (long)sizeof (struct dqblk), 0);
- if (write(fd, &qup->dqblk, sizeof (struct dqblk)) !=
- sizeof (struct dqblk)) {
- warn("%s", qup->qfname);
- }
+ continue;
+ }
+ if (lseek(fd, (off_t)id * sizeof(struct dqblk), L_SET) < 0) {
+ warn("seek error on %s", qup->qfname);
+ close(fd);
+ continue;
+ }
+ switch (read(fd, &dqbuf, sizeof(struct dqblk))) {
+ case 0: /* EOF */
+ /*
+ * Convert implicit 0 quota (EOF)
+ * into an explicit one (zero'ed dqblk)
+ */
+ bzero(&dqbuf, sizeof(struct dqblk));
+ break;
+
+ case sizeof(struct dqblk): /* OK */
+ break;
+
+ default: /* ERROR */
+ warn("read error in %s", qup->qfname);
+ close(fd);
+ continue;
+ }
+ /*
+ * Reset time limit if have a soft limit and were
+ * previously under it, but are now over it
+ * or if there previously was no soft limit, but
+ * now have one and are over it.
+ */
+ if (dqbuf.dqb_bsoftlimit && id != 0 &&
+ dqbuf.dqb_curblocks < dqbuf.dqb_bsoftlimit &&
+ dqbuf.dqb_curblocks >= qup->dqblk.dqb_bsoftlimit)
+ qup->dqblk.dqb_btime = 0;
+ if (dqbuf.dqb_bsoftlimit == 0 && id != 0 &&
+ dqbuf.dqb_curblocks >= qup->dqblk.dqb_bsoftlimit)
+ qup->dqblk.dqb_btime = 0;
+ if (dqbuf.dqb_isoftlimit && id != 0 &&
+ dqbuf.dqb_curinodes < dqbuf.dqb_isoftlimit &&
+ dqbuf.dqb_curinodes >= qup->dqblk.dqb_isoftlimit)
+ qup->dqblk.dqb_itime = 0;
+ if (dqbuf.dqb_isoftlimit == 0 && id !=0 &&
+ dqbuf.dqb_curinodes >= qup->dqblk.dqb_isoftlimit)
+ qup->dqblk.dqb_itime = 0;
+ qup->dqblk.dqb_curinodes = dqbuf.dqb_curinodes;
+ qup->dqblk.dqb_curblocks = dqbuf.dqb_curblocks;
+ if (lseek(fd, (off_t)id * sizeof(struct dqblk), L_SET) < 0) {
+ warn("seek error on %s", qup->qfname);
close(fd);
+ continue;
}
+ if (write(fd, &qup->dqblk, sizeof (struct dqblk)) !=
+ sizeof (struct dqblk)) {
+ warn("%s", qup->qfname);
+ }
+ close(fd);
}
}
@@ -814,18 +870,21 @@
*/
int
hasquota(fs, type, qfnamep)
- register struct fstab *fs;
+ struct fstab *fs;
int type;
char **qfnamep;
{
- register char *opt;
+ char *opt;
char *cp;
+ struct statfs sfb;
static char initname, usrname[100], grpname[100];
static char buf[BUFSIZ];
if (!initname) {
- sprintf(usrname, "%s%s", qfextension[USRQUOTA], qfname);
- sprintf(grpname, "%s%s", qfextension[GRPQUOTA], qfname);
+ (void)snprintf(usrname, sizeof(usrname), "%s%s",
+ qfextension[USRQUOTA], qfname);
+ (void)snprintf(grpname, sizeof(grpname), "%s%s",
+ qfextension[GRPQUOTA], qfname);
initname = 1;
}
strcpy(buf, fs->fs_mntops);
@@ -839,11 +898,22 @@
}
if (!opt)
return (0);
- if (cp) {
+ if (cp)
*qfnamep = cp;
- return (1);
+ else {
+ (void)snprintf(buf, sizeof(buf), "%s/%s.%s", fs->fs_file,
+ qfname, qfextension[type]);
+ *qfnamep = buf;
+ }
+ if (statfs(fs->fs_file, &sfb) != 0) {
+ warn("cannot statfs mount point %s", fs->fs_file);
+ return (0);
+ }
+ if (strcmp(fs->fs_file, sfb.f_mntonname)) {
+ warnx("%s not mounted for %s quotas", fs->fs_file,
+ type == USRQUOTA ? "user" : "group");
+ sleep(3);
+ return (0);
}
- (void) sprintf(buf, "%s/%s.%s", fs->fs_file, qfname, qfextension[type]);
- *qfnamep = buf;
return (1);
}
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/iostat/iostat.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/usr.sbin/iostat/iostat.c,v 1.31 2006/04/16 22:30:24 maxim Exp $
+ * $FreeBSD: src/usr.sbin/iostat/iostat.c,v 1.32 2007/02/06 20:29:40 jhb Exp $
*/
/*
* Parts of this program are derived from the original FreeBSD iostat
@@ -823,15 +823,16 @@
if (kd != NULL) {
ssize_t nbytes;
- nbytes = kvm_read(kd, nlid, ptr, len);
+ nbytes = kvm_read(kd, namelist[nlid].n_value, ptr, len);
- if (nbytes == 0) {
- warnx("kvm_read(%s): %s", name, kvm_geterr(kd));
+ if (nbytes < 0) {
+ warnx("kvm_read(%s): %s", namelist[nlid].n_name,
+ kvm_geterr(kd));
return (1);
}
if (nbytes != len) {
- warnx("kvm_read(%s): expected %lu bytes, got %ld bytes",
- name, (unsigned long)len, (long)nbytes);
+ warnx("kvm_read(%s): expected %zu bytes, got %zd bytes",
+ namelist[nlid].n_name, len, nbytes);
return (1);
}
} else {
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.8#2 (text+ko) ====
@@ -26,9 +26,9 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)mountd.8 8.4 (Berkeley) 4/28/95
-.\" $FreeBSD: src/usr.sbin/mountd/mountd.8,v 1.28 2006/05/02 21:00:43 keramida Exp $
+.\" $FreeBSD: src/usr.sbin/mountd/mountd.8,v 1.30 2007/02/03 00:15:46 pjd Exp $
.\"
-.Dd May 2, 2006
+.Dd February 3, 2007
.Dt MOUNTD 8
.Os
.Sh NAME
@@ -40,7 +40,7 @@
.Nm
.Op Fl 2dlnr
.Op Fl p Ar port
-.Op Ar exportsfile
+.Op Ar exportsfile ...
.Sh DESCRIPTION
The
.Nm
@@ -106,6 +106,7 @@
.It Ar exportsfile
Specify an alternate location
for the exports file.
+More than one exports file can be specified.
.El
.Pp
When
==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.c#8 (text+ko) ====
@@ -43,7 +43,7 @@
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.92 2007/01/26 13:26:43 rodrigc Exp $");
+__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.93 2007/02/03 00:12:18 pjd Exp $");
#include <sys/param.h>
#include <sys/mount.h>
@@ -205,7 +205,8 @@
struct exportlist *exphead;
struct mountlist *mlhead;
struct grouplist *grphead;
-char exname[MAXPATHLEN];
+char *exnames_default[2] = { _PATH_EXPORTS, NULL };
+char **exnames;
struct xucred def_anon = {
XUCRED_VERSION,
(uid_t)-2,
@@ -322,11 +323,10 @@
grphead = (struct grouplist *)NULL;
exphead = (struct exportlist *)NULL;
mlhead = (struct mountlist *)NULL;
- if (argc == 1) {
- strncpy(exname, *argv, MAXPATHLEN-1);
- exname[MAXPATHLEN-1] = '\0';
- } else
- strcpy(exname, _PATH_EXPORTS);
+ if (argc > 0)
+ exnames = argv;
+ else
+ exnames = exnames_default;
openlog("mountd", LOG_PID, LOG_DAEMON);
if (debug)
warnx("getting export list");
@@ -541,7 +541,7 @@
{
fprintf(stderr,
"usage: mountd [-2] [-d] [-l] [-n] [-p <port>] [-r] "
- "[export_file]\n");
+ "[export_file ...]\n");
exit(1);
}
@@ -953,130 +953,20 @@
FILE *exp_file;
/*
- * Get the export list
+ * Get the export list from one, currently open file
*/
-void
-get_exportlist()
+static void
+get_exportlist_one()
{
struct exportlist *ep, *ep2;
struct grouplist *grp, *tgrp;
struct exportlist **epp;
- struct export_args export;
struct dirlist *dirhead;
- struct iovec *iov;
- struct statfs fsb, *fsp, *mntbufp;
+ struct statfs fsb;
struct xucred anon;
- struct xvfsconf vfc;
char *cp, *endcp, *dirp, *hst, *usr, *dom, savedc;
- char errmsg[255];
- int len, has_host, exflags, got_nondir, dirplen, num, i, netgrp;
- int iovlen;
-
- bzero(&export, sizeof(export));
- export.ex_flags = MNT_DELEXPORT;
- dirp = NULL;
- dirplen = 0;
- iov = NULL;
- iovlen = 0;
- bzero(errmsg, sizeof(errmsg));
-
- /*
- * First, get rid of the old list
- */
- ep = exphead;
- while (ep) {
- ep2 = ep;
- ep = ep->ex_next;
- free_exp(ep2);
- }
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list