From owner-svn-src-user@FreeBSD.ORG Sun Dec 27 13:56:36 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36F4E1065676; Sun, 27 Dec 2009 13:56:36 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 22F8B8FC1A; Sun, 27 Dec 2009 13:56:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nBRDuagG058294; Sun, 27 Dec 2009 13:56:36 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nBRDuZ4N058250; Sun, 27 Dec 2009 13:56:35 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200912271356.nBRDuZ4N058250@svn.freebsd.org> From: Luigi Rizzo Date: Sun, 27 Dec 2009 13:56:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201050 - in user/luigi/ipfw3-head: . bin/setfacl bin/sh contrib/telnet/telnetd contrib/top etc lib/libc/posix1e lib/libpam/modules/pam_lastlog lib/libulog libexec/atrun libexec/talkd r... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Dec 2009 13:56:36 -0000 Author: luigi Date: Sun Dec 27 13:56:35 2009 New Revision: 201050 URL: http://svn.freebsd.org/changeset/base/201050 Log: svn merge -r 200947:201048 from HEAD Added: user/luigi/ipfw3-head/share/man/man4/mk48txx.4 - copied unchanged from r201048, head/share/man/man4/mk48txx.4 user/luigi/ipfw3-head/tools/regression/bin/sh/builtins/fc2.0 - copied unchanged from r201048, head/tools/regression/bin/sh/builtins/fc2.0 Modified: user/luigi/ipfw3-head/UPDATING user/luigi/ipfw3-head/bin/setfacl/merge.c user/luigi/ipfw3-head/bin/setfacl/remove.c user/luigi/ipfw3-head/bin/setfacl/setfacl.h user/luigi/ipfw3-head/bin/setfacl/util.c user/luigi/ipfw3-head/bin/sh/alias.c user/luigi/ipfw3-head/bin/sh/alias.h user/luigi/ipfw3-head/bin/sh/arith.h user/luigi/ipfw3-head/bin/sh/arith.y user/luigi/ipfw3-head/bin/sh/cd.c user/luigi/ipfw3-head/bin/sh/error.c user/luigi/ipfw3-head/bin/sh/error.h user/luigi/ipfw3-head/bin/sh/exec.c user/luigi/ipfw3-head/bin/sh/exec.h user/luigi/ipfw3-head/bin/sh/expand.c user/luigi/ipfw3-head/bin/sh/expand.h user/luigi/ipfw3-head/bin/sh/histedit.c user/luigi/ipfw3-head/bin/sh/input.c user/luigi/ipfw3-head/bin/sh/input.h user/luigi/ipfw3-head/bin/sh/jobs.c user/luigi/ipfw3-head/bin/sh/mail.c user/luigi/ipfw3-head/bin/sh/main.c user/luigi/ipfw3-head/bin/sh/main.h user/luigi/ipfw3-head/bin/sh/memalloc.c user/luigi/ipfw3-head/bin/sh/memalloc.h user/luigi/ipfw3-head/bin/sh/myhistedit.h user/luigi/ipfw3-head/bin/sh/options.c user/luigi/ipfw3-head/bin/sh/options.h user/luigi/ipfw3-head/bin/sh/output.c user/luigi/ipfw3-head/bin/sh/output.h user/luigi/ipfw3-head/bin/sh/parser.c user/luigi/ipfw3-head/bin/sh/parser.h user/luigi/ipfw3-head/bin/sh/show.c user/luigi/ipfw3-head/bin/sh/show.h user/luigi/ipfw3-head/bin/sh/trap.h user/luigi/ipfw3-head/bin/sh/var.c user/luigi/ipfw3-head/bin/sh/var.h user/luigi/ipfw3-head/contrib/telnet/telnetd/sys_term.c user/luigi/ipfw3-head/contrib/top/username.c user/luigi/ipfw3-head/etc/rc.subr user/luigi/ipfw3-head/lib/libc/posix1e/acl_delete_entry.c user/luigi/ipfw3-head/lib/libpam/modules/pam_lastlog/pam_lastlog.c user/luigi/ipfw3-head/lib/libulog/ulog.h user/luigi/ipfw3-head/lib/libulog/ulog_getutxent.c user/luigi/ipfw3-head/lib/libulog/ulog_pututxline.c user/luigi/ipfw3-head/lib/libulog/ulog_setutxfile.3 user/luigi/ipfw3-head/libexec/atrun/atrun.c user/luigi/ipfw3-head/libexec/talkd/Makefile user/luigi/ipfw3-head/libexec/talkd/process.c user/luigi/ipfw3-head/release/picobsd/bridge/PICOBSD user/luigi/ipfw3-head/release/picobsd/bridge/crunch.conf user/luigi/ipfw3-head/sbin/nfsiod/nfsiod.8 user/luigi/ipfw3-head/sbin/nfsiod/nfsiod.c user/luigi/ipfw3-head/share/man/man4/Makefile user/luigi/ipfw3-head/share/man/man4/gem.4 user/luigi/ipfw3-head/share/man/man4/ste.4 user/luigi/ipfw3-head/sys/cam/ata/ata_da.c user/luigi/ipfw3-head/sys/conf/files.ia64 user/luigi/ipfw3-head/sys/dev/ae/if_ae.c user/luigi/ipfw3-head/sys/dev/ahci/ahci.c user/luigi/ipfw3-head/sys/dev/hwpmc/hwpmc_core.c user/luigi/ipfw3-head/sys/dev/hwpmc/hwpmc_mod.c user/luigi/ipfw3-head/sys/dev/jme/if_jme.c user/luigi/ipfw3-head/sys/dev/mc146818/mc146818.c user/luigi/ipfw3-head/sys/dev/mc146818/mc146818reg.h user/luigi/ipfw3-head/sys/dev/mc146818/mc146818var.h user/luigi/ipfw3-head/sys/dev/mk48txx/mk48txx.c user/luigi/ipfw3-head/sys/dev/mk48txx/mk48txxreg.h user/luigi/ipfw3-head/sys/dev/mk48txx/mk48txxvar.h user/luigi/ipfw3-head/sys/dev/ste/if_ste.c user/luigi/ipfw3-head/sys/dev/ste/if_stereg.h user/luigi/ipfw3-head/sys/dev/twe/twe.c user/luigi/ipfw3-head/sys/dev/twe/twe_freebsd.c user/luigi/ipfw3-head/sys/dev/twe/twevar.h user/luigi/ipfw3-head/sys/dev/usb/net/if_aue.c user/luigi/ipfw3-head/sys/dev/usb/net/if_axe.c user/luigi/ipfw3-head/sys/dev/usb/net/if_cue.c user/luigi/ipfw3-head/sys/dev/usb/net/if_kue.c user/luigi/ipfw3-head/sys/dev/usb/serial/uftdi.c user/luigi/ipfw3-head/sys/dev/usb/serial/uplcom.c user/luigi/ipfw3-head/sys/dev/usb/serial/uslcom.c user/luigi/ipfw3-head/sys/dev/usb/serial/uvisor.c user/luigi/ipfw3-head/sys/dev/usb/usbdevs user/luigi/ipfw3-head/sys/dev/usb/wlan/if_rum.c user/luigi/ipfw3-head/sys/dev/usb/wlan/if_ural.c user/luigi/ipfw3-head/sys/dev/vge/if_vge.c user/luigi/ipfw3-head/sys/fs/nfs/nfs_commonacl.c user/luigi/ipfw3-head/sys/fs/nfs/nfs_var.h user/luigi/ipfw3-head/sys/fs/nfsclient/nfs.h user/luigi/ipfw3-head/sys/fs/nfsclient/nfs_clbio.c user/luigi/ipfw3-head/sys/fs/nfsclient/nfs_clvnops.c user/luigi/ipfw3-head/sys/fs/nfsserver/nfs_nfsdport.c user/luigi/ipfw3-head/sys/fs/nfsserver/nfs_nfsdserv.c user/luigi/ipfw3-head/sys/ia64/include/cpufunc.h user/luigi/ipfw3-head/sys/kern/kern_proc.c user/luigi/ipfw3-head/sys/kern/kern_rmlock.c user/luigi/ipfw3-head/sys/kern/subr_acl_nfs4.c user/luigi/ipfw3-head/sys/kern/subr_acl_posix1e.c user/luigi/ipfw3-head/sys/kern/vfs_subr.c user/luigi/ipfw3-head/sys/nfsclient/krpc_subr.c user/luigi/ipfw3-head/sys/sparc64/include/intr_machdep.h user/luigi/ipfw3-head/sys/sparc64/pci/ofw_pcib.c user/luigi/ipfw3-head/sys/sparc64/pci/psycho.c user/luigi/ipfw3-head/sys/sparc64/pci/schizo.c user/luigi/ipfw3-head/sys/sparc64/sparc64/eeprom.c user/luigi/ipfw3-head/sys/sparc64/sparc64/intr_machdep.c user/luigi/ipfw3-head/sys/sparc64/sparc64/nexus.c user/luigi/ipfw3-head/sys/sparc64/sparc64/rtc.c user/luigi/ipfw3-head/sys/sys/pmc.h user/luigi/ipfw3-head/tools/regression/acltools/tools-crossfs.test user/luigi/ipfw3-head/usr.bin/killall/killall.1 user/luigi/ipfw3-head/usr.bin/rwho/rwho.c user/luigi/ipfw3-head/usr.bin/who/who.c user/luigi/ipfw3-head/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile user/luigi/ipfw3-head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c user/luigi/ipfw3-head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c user/luigi/ipfw3-head/usr.sbin/diskinfo/diskinfo.8 user/luigi/ipfw3-head/usr.sbin/diskinfo/diskinfo.c user/luigi/ipfw3-head/usr.sbin/lastlogin/lastlogin.c user/luigi/ipfw3-head/usr.sbin/ntp/config.h user/luigi/ipfw3-head/usr.sbin/service/service.8 user/luigi/ipfw3-head/usr.sbin/syslogd/Makefile user/luigi/ipfw3-head/usr.sbin/syslogd/syslogd.c user/luigi/ipfw3-head/usr.sbin/wake/wake.8 user/luigi/ipfw3-head/usr.sbin/wake/wake.c Directory Properties: user/luigi/ipfw3-head/ (props changed) user/luigi/ipfw3-head/cddl/contrib/opensolaris/ (props changed) user/luigi/ipfw3-head/contrib/bind9/ (props changed) user/luigi/ipfw3-head/contrib/cpio/ (props changed) user/luigi/ipfw3-head/contrib/csup/ (props changed) user/luigi/ipfw3-head/contrib/ee/ (props changed) user/luigi/ipfw3-head/contrib/expat/ (props changed) user/luigi/ipfw3-head/contrib/file/ (props changed) user/luigi/ipfw3-head/contrib/gdb/ (props changed) user/luigi/ipfw3-head/contrib/gdtoa/ (props changed) user/luigi/ipfw3-head/contrib/less/ (props changed) user/luigi/ipfw3-head/contrib/libpcap/ (props changed) user/luigi/ipfw3-head/contrib/ncurses/ (props changed) user/luigi/ipfw3-head/contrib/netcat/ (props changed) user/luigi/ipfw3-head/contrib/ntp/ (props changed) user/luigi/ipfw3-head/contrib/openbsm/ (props changed) user/luigi/ipfw3-head/contrib/openpam/ (props changed) user/luigi/ipfw3-head/contrib/pf/ (props changed) user/luigi/ipfw3-head/contrib/sendmail/ (props changed) user/luigi/ipfw3-head/contrib/tcpdump/ (props changed) user/luigi/ipfw3-head/contrib/tcsh/ (props changed) user/luigi/ipfw3-head/contrib/top/ (props changed) user/luigi/ipfw3-head/contrib/top/install-sh (props changed) user/luigi/ipfw3-head/contrib/wpa/ (props changed) user/luigi/ipfw3-head/crypto/openssh/ (props changed) user/luigi/ipfw3-head/crypto/openssl/ (props changed) user/luigi/ipfw3-head/lib/libc/ (props changed) user/luigi/ipfw3-head/lib/libc/stdtime/ (props changed) user/luigi/ipfw3-head/lib/libutil/ (props changed) user/luigi/ipfw3-head/sbin/ (props changed) user/luigi/ipfw3-head/sbin/ipfw/ (props changed) user/luigi/ipfw3-head/share/zoneinfo/ (props changed) user/luigi/ipfw3-head/sys/ (props changed) user/luigi/ipfw3-head/sys/amd64/include/xen/ (props changed) user/luigi/ipfw3-head/sys/cddl/contrib/opensolaris/ (props changed) user/luigi/ipfw3-head/sys/contrib/dev/acpica/ (props changed) user/luigi/ipfw3-head/sys/contrib/pf/ (props changed) user/luigi/ipfw3-head/sys/dev/xen/xenpci/ (props changed) user/luigi/ipfw3-head/usr.bin/csup/ (props changed) user/luigi/ipfw3-head/usr.bin/procstat/ (props changed) user/luigi/ipfw3-head/usr.sbin/zic/ (props changed) Modified: user/luigi/ipfw3-head/UPDATING ============================================================================== --- user/luigi/ipfw3-head/UPDATING Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/UPDATING Sun Dec 27 13:56:35 2009 (r201050) @@ -161,7 +161,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. 20090712: Padding has been added to struct tcpcb, sackhint and tcpstat in to facilitate future MFCs and bug fixes whilst - maintainig the ABI. However, this change breaks the ABI, so bump + maintaining the ABI. However, this change breaks the ABI, so bump __FreeBSD_version to 800102. User space tools that rely on the size of any of these structs (e.g. sockstat) need to be recompiled. @@ -895,7 +895,7 @@ COMMON ITEMS: ------------- Avoid using make -j when upgrading. While generally safe, there are sometimes problems using -j to upgrade. If your upgrade fails with - -j, please try again wtihout -j. From time to time in the past there + -j, please try again without -j. From time to time in the past there have been problems using -j with buildworld and/or installworld. This is especially true when upgrading between "distant" versions (eg one that cross a major release boundary or several minor releases, or when Modified: user/luigi/ipfw3-head/bin/setfacl/merge.c ============================================================================== --- user/luigi/ipfw3-head/bin/setfacl/merge.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/setfacl/merge.c Sun Dec 27 13:56:35 2009 (r201050) @@ -100,11 +100,10 @@ merge_acl(acl_t acl, acl_t *prev_acl, co acl_get_brand_np(acl, &acl_brand); acl_get_brand_np(*prev_acl, &prev_acl_brand); - if (acl_brand != prev_acl_brand) { + if (branding_mismatch(acl_brand, prev_acl_brand)) { warnx("%s: branding mismatch; existing ACL is %s, " "entry to be merged is %s", filename, - prev_acl_brand == ACL_BRAND_NFS4 ? "NFSv4" : "POSIX.1e", - acl_brand == ACL_BRAND_NFS4 ? "NFSv4" : "POSIX.1e"); + brand_name(prev_acl_brand), brand_name(acl_brand)); return (-1); } @@ -252,9 +251,10 @@ add_acl(acl_t acl, uint entry_number, ac return (-1); } - if (acl_brand != ACL_BRAND_NFS4) { + if (branding_mismatch(acl_brand, ACL_BRAND_NFS4)) { warnx("%s: branding mismatch; existing ACL is NFSv4, " - "entry to be added is POSIX.1e", filename); + "entry to be added is %s", filename, + brand_name(acl_brand)); return (-1); } Modified: user/luigi/ipfw3-head/bin/setfacl/remove.c ============================================================================== --- user/luigi/ipfw3-head/bin/setfacl/remove.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/setfacl/remove.c Sun Dec 27 13:56:35 2009 (r201050) @@ -53,11 +53,10 @@ remove_acl(acl_t acl, acl_t *prev_acl, c acl_get_brand_np(acl, &acl_brand); acl_get_brand_np(*prev_acl, &prev_acl_brand); - if (acl_brand != prev_acl_brand) { + if (branding_mismatch(acl_brand, prev_acl_brand)) { warnx("%s: branding mismatch; existing ACL is %s, " "entry to be removed is %s", filename, - prev_acl_brand == ACL_BRAND_NFS4 ? "NFSv4" : "POSIX.1e", - acl_brand == ACL_BRAND_NFS4 ? "NFSv4" : "POSIX.1e"); + brand_name(prev_acl_brand), brand_name(acl_brand)); return (-1); } Modified: user/luigi/ipfw3-head/bin/setfacl/setfacl.h ============================================================================== --- user/luigi/ipfw3-head/bin/setfacl/setfacl.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/setfacl/setfacl.h Sun Dec 27 13:56:35 2009 (r201050) @@ -71,6 +71,8 @@ void remove_ext(acl_t *prev_acl, const int set_acl_mask(acl_t *prev_acl, const char *filename); /* util.c */ void *zmalloc(size_t size); +const char *brand_name(int brand); +int branding_mismatch(int brand1, int brand2); uint have_mask; uint need_mask; Modified: user/luigi/ipfw3-head/bin/setfacl/util.c ============================================================================== --- user/luigi/ipfw3-head/bin/setfacl/util.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/setfacl/util.c Sun Dec 27 13:56:35 2009 (r201050) @@ -43,3 +43,26 @@ zmalloc(size_t size) err(1, "calloc() failed"); return (ptr); } + +const char * +brand_name(int brand) +{ + switch (brand) { + case ACL_BRAND_NFS4: + return "NFSv4"; + case ACL_BRAND_POSIX: + return "POSIX.1e"; + default: + return "unknown"; + } +} + +int +branding_mismatch(int brand1, int brand2) +{ + if (brand1 == ACL_BRAND_UNKNOWN || brand2 == ACL_BRAND_UNKNOWN) + return (0); + if (brand1 != brand2) + return (1); + return (0); +} Modified: user/luigi/ipfw3-head/bin/sh/alias.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/alias.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/alias.c Sun Dec 27 13:56:35 2009 (r201050) @@ -52,13 +52,13 @@ __FBSDID("$FreeBSD$"); STATIC struct alias *atab[ATABSIZE]; STATIC int aliases; -STATIC void setalias(char *, char *); +STATIC void setalias(const char *, const char *); STATIC int unalias(const char *); STATIC struct alias **hashalias(const char *); STATIC void -setalias(char *name, char *val) +setalias(const char *name, const char *val) { struct alias *ap, **app; @@ -176,7 +176,7 @@ rmaliases(void) } struct alias * -lookupalias(char *name, int check) +lookupalias(const char *name, int check) { struct alias *ap = *hashalias(name); Modified: user/luigi/ipfw3-head/bin/sh/alias.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/alias.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/alias.h Sun Dec 27 13:56:35 2009 (r201050) @@ -42,7 +42,7 @@ struct alias { int flag; }; -struct alias *lookupalias(char *, int); +struct alias *lookupalias(const char *, int); int aliascmd(int, char **); int unaliascmd(int, char **); void rmaliases(void); Modified: user/luigi/ipfw3-head/bin/sh/arith.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/arith.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/arith.h Sun Dec 27 13:56:35 2009 (r201050) @@ -34,8 +34,8 @@ #define DIGITS(var) (3 + (2 + CHAR_BIT * sizeof((var))) / 3) -extern char *arith_buf, *arith_startbuf; +extern const char *arith_buf, *arith_startbuf; -arith_t arith(char *); +arith_t arith(const char *); void arith_lex_reset(void); int expcmd(int, char **); Modified: user/luigi/ipfw3-head/bin/sh/arith.y ============================================================================== --- user/luigi/ipfw3-head/bin/sh/arith.y Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/arith.y Sun Dec 27 13:56:35 2009 (r201050) @@ -265,7 +265,7 @@ expr: #define YYPARSE_PARAM_TYPE arith_t * #define YYPARSE_PARAM result -char *arith_buf, *arith_startbuf; +const char *arith_buf, *arith_startbuf; int yylex(void); int yyparse(YYPARSE_PARAM_TYPE); @@ -284,7 +284,7 @@ arith_assign(char *name, arith_t value) } arith_t -arith(char *s) +arith(const char *s) { arith_t result; @@ -299,7 +299,7 @@ arith(char *s) } static void -yyerror(char *s) +yyerror(const char *s) { yyerrok; @@ -354,7 +354,7 @@ main(int argc, char *argv[]) printf("%d\n", exp(argv[1])); } -error(char *s) +error(const char *s) { fprintf(stderr, "exp: %s\n", s); exit(1); Modified: user/luigi/ipfw3-head/bin/sh/cd.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/cd.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/cd.c Sun Dec 27 13:56:35 2009 (r201050) @@ -80,7 +80,7 @@ int cdcmd(int argc, char **argv) { char *dest; - char *path; + const char *path; char *p; struct stat statb; int ch, phys, print = 0; Modified: user/luigi/ipfw3-head/bin/sh/error.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/error.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/error.c Sun Dec 27 13:56:35 2009 (r201050) @@ -67,7 +67,7 @@ volatile sig_atomic_t intpending; char *commandname; -static void exverror(int, const char *, va_list) __printf0like(2, 0); +static void exverror(int, const char *, va_list) __printf0like(2, 0) __dead2; /* * Called to raise an exception. Since C doesn't include exceptions, we Modified: user/luigi/ipfw3-head/bin/sh/error.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/error.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/error.h Sun Dec 27 13:56:35 2009 (r201050) @@ -78,10 +78,10 @@ extern volatile sig_atomic_t intpending; #define CLEAR_PENDING_INT intpending = 0 #define int_pending() intpending -void exraise(int); +void exraise(int) __dead2; void onint(void); -void error(const char *, ...) __printf0like(1, 2); -void exerror(int, const char *, ...) __printf0like(2, 3); +void error(const char *, ...) __printf0like(1, 2) __dead2; +void exerror(int, const char *, ...) __printf0like(2, 3) __dead2; /* Modified: user/luigi/ipfw3-head/bin/sh/exec.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/exec.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/exec.c Sun Dec 27 13:56:35 2009 (r201050) @@ -98,7 +98,7 @@ int exerrno = 0; /* Last exec error */ STATIC void tryexec(char *, char **, char **); STATIC void printentry(struct tblentry *, int); -STATIC struct tblentry *cmdlookup(char *, int); +STATIC struct tblentry *cmdlookup(const char *, int); STATIC void delete_cmd_entry(void); @@ -109,7 +109,7 @@ STATIC void delete_cmd_entry(void); */ void -shellexec(char **argv, char **envp, char *path, int index) +shellexec(char **argv, char **envp, const char *path, int index) { char *cmdname; int e; @@ -175,13 +175,13 @@ tryexec(char *cmd, char **argv, char **e * NULL. */ -char *pathopt; +const char *pathopt; char * -padvance(char **path, char *name) +padvance(const char **path, const char *name) { - char *p, *q; - char *start; + const char *p, *start; + char *q; int len; if (*path == NULL) @@ -269,7 +269,7 @@ STATIC void printentry(struct tblentry *cmdp, int verbose) { int index; - char *path; + const char *path; char *name; if (cmdp->cmdtype == CMDNORMAL) { @@ -310,7 +310,8 @@ printentry(struct tblentry *cmdp, int ve */ void -find_command(char *name, struct cmdentry *entry, int printerr, char *path) +find_command(const char *name, struct cmdentry *entry, int printerr, + const char *path) { struct tblentry *cmdp; int index; @@ -446,7 +447,7 @@ success: */ int -find_builtin(char *name, int *special) +find_builtin(const char *name, int *special) { const struct builtincmd *bp; @@ -608,10 +609,10 @@ STATIC struct tblentry **lastcmdentry; STATIC struct tblentry * -cmdlookup(char *name, int add) +cmdlookup(const char *name, int add) { int hashval; - char *p; + const char *p; struct tblentry *cmdp; struct tblentry **pp; @@ -664,7 +665,7 @@ delete_cmd_entry(void) */ void -addcmdentry(char *name, struct cmdentry *entry) +addcmdentry(const char *name, struct cmdentry *entry) { struct tblentry *cmdp; @@ -684,7 +685,7 @@ addcmdentry(char *name, struct cmdentry */ void -defun(char *name, union node *func) +defun(const char *name, union node *func) { struct cmdentry entry; @@ -701,7 +702,7 @@ defun(char *name, union node *func) */ int -unsetfunc(char *name) +unsetfunc(const char *name) { struct tblentry *cmdp; @@ -767,7 +768,8 @@ typecmd_impl(int argc, char **argv, int switch (entry.cmdtype) { case CMDNORMAL: { if (strchr(argv[i], '/') == NULL) { - char *path = pathval(), *name; + const char *path = pathval(); + char *name; int j = entry.u.index; do { name = padvance(&path, argv[i]); Modified: user/luigi/ipfw3-head/bin/sh/exec.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/exec.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/exec.h Sun Dec 27 13:56:35 2009 (r201050) @@ -57,20 +57,20 @@ struct cmdentry { }; -extern char *pathopt; /* set by padvance */ +extern const char *pathopt; /* set by padvance */ extern int exerrno; /* last exec error */ -void shellexec(char **, char **, char *, int); -char *padvance(char **, char *); +void shellexec(char **, char **, const char *, int) __dead2; +char *padvance(const char **, const char *); int hashcmd(int, char **); -void find_command(char *, struct cmdentry *, int, char *); -int find_builtin(char *, int *); +void find_command(const char *, struct cmdentry *, int, const char *); +int find_builtin(const char *, int *); void hashcd(void); void changepath(const char *); void deletefuncs(void); -void addcmdentry(char *, struct cmdentry *); -void defun(char *, union node *); -int unsetfunc(char *); +void addcmdentry(const char *, struct cmdentry *); +void defun(const char *, union node *); +int unsetfunc(const char *); int typecmd_impl(int, char **, int); int typecmd(int, char **); void clearcmdentry(int); Modified: user/luigi/ipfw3-head/bin/sh/expand.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/expand.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/expand.c Sun Dec 27 13:56:35 2009 (r201050) @@ -107,7 +107,7 @@ STATIC void expmeta(char *, char *); STATIC void addfname(char *); STATIC struct strlist *expsort(struct strlist *); STATIC struct strlist *msort(struct strlist *, int); -STATIC int pmatch(char *, char *, int); +STATIC int pmatch(const char *, const char *, int); STATIC char *cvtnum(int, char *); STATIC int collate_range_cmp(int, int); @@ -271,8 +271,13 @@ exptilde(char *p, int flag) while ((c = *p) != '\0') { switch(c) { - case CTLESC: - return (startp); + case CTLESC: /* This means CTL* are always considered quoted. */ + case CTLVAR: + case CTLENDVAR: + case CTLBACKQ: + case CTLBACKQ | CTLQUOTE: + case CTLARI: + case CTLENDARI: case CTLQUOTEMARK: return (startp); case ':': @@ -1338,7 +1343,7 @@ msort(struct strlist *list, int len) */ int -patmatch(char *pattern, char *string, int squoted) +patmatch(const char *pattern, const char *string, int squoted) { #ifdef notdef if (pattern[0] == '!' && pattern[1] == '!') @@ -1350,9 +1355,9 @@ patmatch(char *pattern, char *string, in STATIC int -pmatch(char *pattern, char *string, int squoted) +pmatch(const char *pattern, const char *string, int squoted) { - char *p, *q; + const char *p, *q; char c; p = pattern; @@ -1400,7 +1405,7 @@ pmatch(char *pattern, char *string, int } while (*q++ != '\0'); return 0; case '[': { - char *endp; + const char *endp; int invert, found; char chr; @@ -1504,7 +1509,7 @@ rmescapes(char *str) */ int -casematch(union node *pattern, char *val) +casematch(union node *pattern, const char *val) { struct stackmark smark; int result; Modified: user/luigi/ipfw3-head/bin/sh/expand.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/expand.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/expand.h Sun Dec 27 13:56:35 2009 (r201050) @@ -58,7 +58,7 @@ union node; void expandhere(union node *, int); void expandarg(union node *, struct arglist *, int); void expari(int); -int patmatch(char *, char *, int); +int patmatch(const char *, const char *, int); void rmescapes(char *); -int casematch(union node *, char *); +int casematch(union node *, const char *); int wordexpcmd(int, char **); Modified: user/luigi/ipfw3-head/bin/sh/histedit.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/histedit.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/histedit.c Sun Dec 27 13:56:35 2009 (r201050) @@ -406,7 +406,7 @@ fc_replace(const char *s, char *p, char } int -not_fcnumber(char *s) +not_fcnumber(const char *s) { if (s == NULL) return (0); @@ -416,10 +416,10 @@ not_fcnumber(char *s) } int -str_to_event(char *str, int last) +str_to_event(const char *str, int last) { HistEvent he; - char *s = str; + const char *s = str; int relative = 0; int i, retval; Modified: user/luigi/ipfw3-head/bin/sh/input.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/input.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/input.c Sun Dec 27 13:56:35 2009 (r201050) @@ -401,7 +401,7 @@ popstring(void) */ void -setinputfile(char *fname, int push) +setinputfile(const char *fname, int push) { int fd; int fd2; Modified: user/luigi/ipfw3-head/bin/sh/input.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/input.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/input.h Sun Dec 27 13:56:35 2009 (r201050) @@ -54,7 +54,7 @@ int preadateof(void); void pungetc(void); void pushstring(char *, int, void *); void popstring(void); -void setinputfile(char *, int); +void setinputfile(const char *, int); void setinputfd(int, int); void setinputstring(char *, int); void popfile(void); Modified: user/luigi/ipfw3-head/bin/sh/jobs.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/jobs.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/jobs.c Sun Dec 27 13:56:35 2009 (r201050) @@ -757,6 +757,7 @@ forkshell(struct job *jp, union node *n, TRACE(("Child shell %d\n", (int)getpid())); wasroot = rootshell; rootshell = 0; + handler = &main_handler; closescript(); INTON; clear_traps(); Modified: user/luigi/ipfw3-head/bin/sh/mail.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/mail.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/mail.c Sun Dec 27 13:56:35 2009 (r201050) @@ -72,7 +72,7 @@ void chkmail(int silent) { int i; - char *mpath; + const char *mpath; char *p; char *q; struct stackmark smark; Modified: user/luigi/ipfw3-head/bin/sh/main.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/main.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/main.c Sun Dec 27 13:56:35 2009 (r201050) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); int rootpid; int rootshell; +struct jmploc main_handler; STATIC void read_profile(char *); STATIC char *find_dot_file(char *); @@ -90,14 +91,13 @@ STATIC char *find_dot_file(char *); int main(int argc, char *argv[]) { - struct jmploc jmploc; struct stackmark smark; volatile int state; char *shinit; (void) setlocale(LC_ALL, ""); state = 0; - if (setjmp(jmploc.loc)) { + if (setjmp(main_handler.loc)) { /* * When a shell procedure is executed, we raise the * exception EXSHELLPROC to clean up before executing @@ -143,7 +143,7 @@ main(int argc, char *argv[]) else goto state4; } - handler = &jmploc; + handler = &main_handler; #ifdef DEBUG opentrace(); trputs("Shell args: "); trargs(argv); @@ -269,7 +269,7 @@ read_profile(char *name) */ void -readcmdfile(char *name) +readcmdfile(const char *name) { int fd; @@ -296,7 +296,7 @@ find_dot_file(char *basename) { static char localname[FILENAME_MAX+1]; char *fullname; - char *path = pathval(); + const char *path = pathval(); struct stat statb; /* don't try this for absolute or relative paths */ Modified: user/luigi/ipfw3-head/bin/sh/main.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/main.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/main.h Sun Dec 27 13:56:35 2009 (r201050) @@ -35,8 +35,9 @@ extern int rootpid; /* pid of main shell */ extern int rootshell; /* true if we aren't a child of the main shell */ +extern struct jmploc main_handler; /* top level exception handler */ -void readcmdfile(char *); +void readcmdfile(const char *); void cmdloop(int); int dotcmd(int, char **); int exitcmd(int, char **); Modified: user/luigi/ipfw3-head/bin/sh/memalloc.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/memalloc.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/memalloc.c Sun Dec 27 13:56:35 2009 (r201050) @@ -95,7 +95,7 @@ ckfree(pointer p) */ char * -savestr(char *s) +savestr(const char *s) { char *p; Modified: user/luigi/ipfw3-head/bin/sh/memalloc.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/memalloc.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/memalloc.h Sun Dec 27 13:56:35 2009 (r201050) @@ -51,7 +51,7 @@ extern int herefd; pointer ckmalloc(size_t); pointer ckrealloc(pointer, int); void ckfree(pointer); -char *savestr(char *); +char *savestr(const char *); pointer stalloc(int); void stunalloc(pointer); void setstackmark(struct stackmark *); Modified: user/luigi/ipfw3-head/bin/sh/myhistedit.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/myhistedit.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/myhistedit.h Sun Dec 27 13:56:35 2009 (r201050) @@ -39,7 +39,7 @@ extern int displayhist; void histedit(void); void sethistsize(const char *); int histcmd(int, char **); -int not_fcnumber(char *); -int str_to_event(char *, int); +int not_fcnumber(const char *); +int str_to_event(const char *, int); int bindcmd(int, char **); Modified: user/luigi/ipfw3-head/bin/sh/options.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/options.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/options.c Sun Dec 27 13:56:35 2009 (r201050) @@ -554,9 +554,10 @@ out: */ int -nextopt(char *optstring) +nextopt(const char *optstring) { - char *p, *q; + char *p; + const char *q; char c; if ((p = optptr) == NULL || *p == '\0') { Modified: user/luigi/ipfw3-head/bin/sh/options.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/options.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/options.h Sun Dec 27 13:56:35 2009 (r201050) @@ -111,5 +111,5 @@ void freeparam(struct shparam *); int shiftcmd(int, char **); int setcmd(int, char **); int getoptscmd(int, char **); -int nextopt(char *); +int nextopt(const char *); void getoptsreset(const char *); Modified: user/luigi/ipfw3-head/bin/sh/output.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/output.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/output.c Sun Dec 27 13:56:35 2009 (r201050) @@ -314,7 +314,7 @@ doformat(struct output *dest, const char */ int -xwrite(int fd, char *buf, int nbytes) +xwrite(int fd, const char *buf, int nbytes) { int ntry; int i; Modified: user/luigi/ipfw3-head/bin/sh/output.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/output.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/output.h Sun Dec 27 13:56:35 2009 (r201050) @@ -52,7 +52,6 @@ extern struct output memout; extern struct output *out1; extern struct output *out2; -void open_mem(char *, int, struct output *); void out1str(const char *); void out1qstr(const char *); void out2str(const char *); @@ -68,7 +67,7 @@ void out1fmt(const char *, ...) __printf void out2fmt_flush(const char *, ...) __printflike(1, 2); void fmtstr(char *, int, const char *, ...) __printflike(3, 4); void doformat(struct output *, const char *, va_list) __printflike(2, 0); -int xwrite(int, char *, int); +int xwrite(int, const char *, int); #define outc(c, file) (--(file)->nleft < 0? (emptyoutbuf(file), *(file)->nextc++ = (c)) : (*(file)->nextc++ = (c))) #define out1c(c) outc(c, out1); Modified: user/luigi/ipfw3-head/bin/sh/parser.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/parser.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/parser.c Sun Dec 27 13:56:35 2009 (r201050) @@ -1510,9 +1510,9 @@ noexpand(char *text) */ int -goodname(char *name) +goodname(const char *name) { - char *p; + const char *p; p = name; if (! is_name(*p)) Modified: user/luigi/ipfw3-head/bin/sh/parser.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/parser.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/parser.h Sun Dec 27 13:56:35 2009 (r201050) @@ -77,5 +77,5 @@ extern int whichprompt; /* 1 == PS1, 2 union node *parsecmd(int); void fixredir(union node *, const char *, int); -int goodname(char *); +int goodname(const char *); char *getprompt(void *); Modified: user/luigi/ipfw3-head/bin/sh/show.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/show.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/show.c Sun Dec 27 13:56:35 2009 (r201050) @@ -307,7 +307,7 @@ sh_trace(const char *fmt, ...) void -trputs(char *s) +trputs(const char *s) { if (tracefile == NULL) return; Modified: user/luigi/ipfw3-head/bin/sh/show.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/show.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/show.h Sun Dec 27 13:56:35 2009 (r201050) @@ -35,6 +35,6 @@ void showtree(union node *); void sh_trace(const char *, ...) __printflike(1, 2); void trargs(char **); void trputc(int); -void trputs(char *); +void trputs(const char *); void opentrace(void); #endif Modified: user/luigi/ipfw3-head/bin/sh/trap.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/trap.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/trap.h Sun Dec 27 13:56:35 2009 (r201050) @@ -45,4 +45,4 @@ void ignoresig(int); void onsig(int); void dotrap(void); void setinteractive(int); -void exitshell(int); +void exitshell(int) __dead2; Modified: user/luigi/ipfw3-head/bin/sh/var.c ============================================================================== --- user/luigi/ipfw3-head/bin/sh/var.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/var.c Sun Dec 27 13:56:35 2009 (r201050) @@ -122,9 +122,9 @@ STATIC const struct varinit varinit[] = STATIC struct var *vartab[VTABSIZE]; -STATIC struct var **hashvar(char *); -STATIC int varequal(char *, char *); -STATIC int localevar(char *); +STATIC struct var **hashvar(const char *); +STATIC int varequal(const char *, const char *); +STATIC int localevar(const char *); /* * Initialize the variable symbol tables and import the environment. @@ -190,7 +190,7 @@ initvar(void) */ int -setvarsafe(char *name, char *val, int flags) +setvarsafe(const char *name, const char *val, int flags) { struct jmploc jmploc; struct jmploc *const savehandler = handler; @@ -215,9 +215,9 @@ setvarsafe(char *name, char *val, int fl */ void -setvar(char *name, char *val, int flags) +setvar(const char *name, const char *val, int flags) { - char *p, *q; + const char *p; int len; int namelen; char *nameeq; @@ -245,19 +245,18 @@ setvar(char *name, char *val, int flags) } else { len += strlen(val); } - p = nameeq = ckmalloc(len); - q = name; - while (--namelen >= 0) - *p++ = *q++; - *p++ = '='; - *p = '\0'; + nameeq = ckmalloc(len); + memcpy(nameeq, name, namelen); + nameeq[namelen] = '='; if (val) - scopy(val, p); + scopy(val, nameeq + namelen + 1); + else + nameeq[namelen + 1] = '\0'; setvareq(nameeq, flags); } STATIC int -localevar(char *s) +localevar(const char *s) { static char *lnames[7] = { "ALL", "COLLATE", "CTYPE", "MONETARY", @@ -283,7 +282,7 @@ localevar(char *s) * pointer into environ where the string should not be manipulated. */ static void -change_env(char *s, int set) +change_env(const char *s, int set) { char *eqp; char *ss; @@ -389,7 +388,7 @@ listsetvar(struct strlist *list) */ char * -lookupvar(char *name) +lookupvar(const char *name) { struct var *v; @@ -412,7 +411,7 @@ lookupvar(char *name) */ char * -bltinlookup(char *name, int doall) +bltinlookup(const char *name, int doall) { struct strlist *sp; struct var *v; @@ -796,7 +795,7 @@ unsetcmd(int argc __unused, char **argv */ int -unsetvar(char *s) +unsetvar(const char *s) { struct var **vpp; struct var *vp; @@ -836,7 +835,7 @@ unsetvar(char *s) */ STATIC struct var ** -hashvar(char *p) +hashvar(const char *p) { unsigned int hashval; @@ -855,7 +854,7 @@ hashvar(char *p) */ STATIC int -varequal(char *p, char *q) +varequal(const char *p, const char *q) { while (*p == *q++) { if (*p++ == '=') Modified: user/luigi/ipfw3-head/bin/sh/var.h ============================================================================== --- user/luigi/ipfw3-head/bin/sh/var.h Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/bin/sh/var.h Sun Dec 27 13:56:35 2009 (r201050) @@ -101,12 +101,12 @@ extern struct var vhistsize; #define mpathset() ((vmpath.flags & VUNSET) == 0) void initvar(void); -void setvar(char *, char *, int); +void setvar(const char *, const char *, int); void setvareq(char *, int); struct strlist; void listsetvar(struct strlist *); -char *lookupvar(char *); -char *bltinlookup(char *, int); +char *lookupvar(const char *); +char *bltinlookup(const char *, int); char **environment(void); void shprocvar(void); int showvarscmd(int, char **); @@ -116,5 +116,5 @@ void mklocal(char *); void poplocalvars(void); int setvarcmd(int, char **); int unsetcmd(int, char **); -int unsetvar(char *); -int setvarsafe(char *, char *, int); +int unsetvar(const char *); +int setvarsafe(const char *, const char *, int); Modified: user/luigi/ipfw3-head/contrib/telnet/telnetd/sys_term.c ============================================================================== --- user/luigi/ipfw3-head/contrib/telnet/telnetd/sys_term.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/contrib/telnet/telnetd/sys_term.c Sun Dec 27 13:56:35 2009 (r201050) @@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include "telnetd.h" #include "pathnames.h" @@ -55,19 +54,6 @@ __FBSDID("$FreeBSD$"); int cleanopen(char *); void scrub_env(void); -struct utmp wtmp; - -#ifdef _PATH_WTMP -char wtmpf[] = _PATH_WTMP; -#else -char wtmpf[] = "/var/log/wtmp"; -#endif -#ifdef _PATH_UTMP -char utmpf[] = _PATH_UTMP; -#else -char utmpf[] = "/var/run/utmp"; -#endif - char *envinit[3]; extern char **environ; Modified: user/luigi/ipfw3-head/contrib/top/username.c ============================================================================== --- user/luigi/ipfw3-head/contrib/top/username.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/contrib/top/username.c Sun Dec 27 13:56:35 2009 (r201050) @@ -30,17 +30,17 @@ * This makes the table size independent of the passwd file size. */ +#include #include #include #include -#include #include "top.local.h" #include "utils.h" struct hash_el { int uid; - char name[UT_NAMESIZE + 1]; + char name[MAXLOGNAME]; }; #define is_empty_hash(x) (hash_table[x].name[0] == 0) @@ -129,7 +129,7 @@ int wecare; /* 1 = enter it always, 0 = /* empty or wrong slot -- fill it with new value */ hash_table[hashindex].uid = uid; - (void) strncpy(hash_table[hashindex].name, name, UT_NAMESIZE); + (void) strncpy(hash_table[hashindex].name, name, MAXLOGNAME - 1); return(hashindex); } Modified: user/luigi/ipfw3-head/etc/rc.subr ============================================================================== --- user/luigi/ipfw3-head/etc/rc.subr Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/etc/rc.subr Sun Dec 27 13:56:35 2009 (r201050) @@ -738,7 +738,7 @@ $command $rc_flags $command_args" if [ -n "$_nice" ]; then if [ -z "$_user" ]; then _doit="sh -c \"$_doit\"" - fi + fi _doit="nice -n $_nice $_doit" fi fi @@ -958,10 +958,11 @@ _run_rc_killcmd() # # run_rc_script file arg # Start the script `file' with `arg', and correctly handle the -# return value from the script. If `file' ends with `.sh', it's -# sourced into the current environment. If `file' appears to be -# a backup or scratch file, ignore it. Otherwise if it's -# executable run as a child process. +# return value from the script. +# If `file' ends with `.sh', it's sourced into the current environment +# when $rc_fast_and_loose is set, otherwise it is run as a child process. +# If `file' appears to be a backup or scratch file, ignore it. +# Otherwise if it is executable run as a child process. # run_rc_script() { @@ -1063,7 +1064,7 @@ load_rc_config() esac done } - + # # load_rc_config_var name var # Read the rc.conf(5) var for name and set in the Modified: user/luigi/ipfw3-head/lib/libc/posix1e/acl_delete_entry.c ============================================================================== --- user/luigi/ipfw3-head/lib/libc/posix1e/acl_delete_entry.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/lib/libc/posix1e/acl_delete_entry.c Sun Dec 27 13:56:35 2009 (r201050) @@ -75,6 +75,7 @@ int acl_delete_entry(acl_t acl, acl_entry_t entry_d) { struct acl *acl_int; + struct acl_entry entry_int; int i, j, found = 0; if (acl == NULL || entry_d == NULL) { @@ -94,8 +95,12 @@ acl_delete_entry(acl_t acl, acl_entry_t errno = EINVAL; return (-1); } + + /* Use a local copy to prevent deletion of more than this entry */ + entry_int = *entry_d; + for (i = 0; i < acl->ats_acl.acl_cnt;) { - if (_entry_matches(&(acl->ats_acl.acl_entry[i]), entry_d)) { + if (_entry_matches(&(acl->ats_acl.acl_entry[i]), &entry_int)) { /* ...shift the remaining entries... */ for (j = i; j < acl->ats_acl.acl_cnt - 1; ++j) acl->ats_acl.acl_entry[j] = Modified: user/luigi/ipfw3-head/lib/libpam/modules/pam_lastlog/pam_lastlog.c ============================================================================== --- user/luigi/ipfw3-head/lib/libpam/modules/pam_lastlog/pam_lastlog.c Sun Dec 27 13:23:14 2009 (r201049) +++ user/luigi/ipfw3-head/lib/libpam/modules/pam_lastlog/pam_lastlog.c Sun Dec 27 13:56:35 2009 (r201050) @@ -91,7 +91,7 @@ pam_sm_open_session(pam_handle_t *pamh, } if ((flags & PAM_SILENT) == 0) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***