From owner-p4-projects@FreeBSD.ORG Sun Jul 31 11:42:25 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF8D816A421; Sun, 31 Jul 2005 11:42:24 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B2F116A41F for ; Sun, 31 Jul 2005 11:42:24 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 538B343D45 for ; Sun, 31 Jul 2005 11:42:24 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6VBgOpr059738 for ; Sun, 31 Jul 2005 11:42:24 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6VBgN8T059735 for perforce@freebsd.org; Sun, 31 Jul 2005 11:42:23 GMT (envelope-from soc-andrew@freebsd.org) Date: Sun, 31 Jul 2005 11:42:23 GMT Message-Id: <200507311142.j6VBgN8T059735@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81232 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jul 2005 11:42:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=81232 Change 81232 by soc-andrew@soc-andrew_serv on 2005/07/31 11:41:52 Fix dhclient on Install CD Use the mtree files to create/correct directories Remove the local dist as it dosn't exist Inform the user if a dist fails to install Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/release/Makefile#12 edit .. //depot/projects/soc2005/bsdinstaller/src/share/bsdinstaller/cmdnames.conf#2 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#3 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#5 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/release/Makefile#12 (text+ko) ==== @@ -790,6 +790,8 @@ cp ${.CURDIR}/bsdinstaller/ttys.${TARGET_ARCH} \ ${RD}/bsdinstaller/root/etc/ttys; \ fi ) + @mkdir -p ${RD}/bsdinstaller/root/var/db + @mkdir -p ${RD}/bsdinstaller/root/var/empty cp ${.CURDIR}/bsdinstaller/bsdinstaller_shell.sh ${RD}/bsdinstaller/root/ chmod u+x ${RD}/bsdinstaller/root/bsdinstaller_shell.sh cp ${.CURDIR}/bsdinstaller/bsdinstaller ${RD}/bsdinstaller/root/etc/rc.d/ ==== //depot/projects/soc2005/bsdinstaller/src/share/bsdinstaller/cmdnames.conf#2 (text+ko) ==== @@ -100,3 +100,7 @@ DMESG_BOOT=var/run/dmesg.boot INSTALLER_TEMP="/tmp/" + +# Extra FreeBSD Variables + +MTREE=usr/sbin/mtree ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#3 (text+ko) ==== @@ -63,7 +63,6 @@ #ifdef __amd64__ { "lib32", "32bit Libraries" }, #endif - { "local", "Local" }, { NULL, NULL } }; ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#5 (text+ko) ==== @@ -62,6 +62,9 @@ #include #include +char *mtree_file[] = { "root", "var", "usr", "sendmail", NULL }; +char *mtree_dest[] = { "/", "/var", "/usr", "/", NULL }; + static int pre_install(struct i_fn_args *); static int do_install(struct i_fn_args *); static int post_install(struct i_fn_args *); @@ -165,6 +168,8 @@ char dist_name[32]; void *rv, *rk; size_t rv_len, rk_len; + int i; + struct commands *cmds; struct utsname name; uname(&name); @@ -184,12 +189,31 @@ if (rk_len < 32) dist_name[rk_len] = '\0'; - printf("+%s\n", dist_name); - dist_extract(a->c, dist_name); + if( dist_extract(a->c, dist_name) != 0) { + inform(a->c, _("Distribution %s was not installed."), dist_name); + return 0; + } aura_dict_next(a->dists); } i_log(a, ">>> Done"); + i_log(a, ""); + + cmds = commands_new(); + + for (i=0; mtree_file[i] != NULL; i++) { + /* Run "mtree -deU -f -p */ + command_add(cmds, "%s%s -deU -f %s/etc/mtree/BSD.%s.dist -p %smnt%s", + a->os_root, cmd_name(a, "MTREE"), + a->os_root, mtree_file[i], + a->os_root, mtree_dest[i]); + } + + if (!commands_execute(a, cmds)) { + inform(a->c, _("%s was not fully installed."), OPERATING_SYSTEM_NAME); + a->result = 0; + } + return 1; } From owner-p4-projects@FreeBSD.ORG Sun Jul 31 17:03:24 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12FF416A421; Sun, 31 Jul 2005 17:03:24 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9232016A41F for ; Sun, 31 Jul 2005 17:03:23 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44AD643D45 for ; Sun, 31 Jul 2005 17:03:23 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6VH3NFg087936 for ; Sun, 31 Jul 2005 17:03:23 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6VH3MLo087933 for perforce@freebsd.org; Sun, 31 Jul 2005 17:03:22 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 31 Jul 2005 17:03:22 GMT Message-Id: <200507311703.j6VH3MLo087933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 81251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jul 2005 17:03:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=81251 Change 81251 by soc-victor@soc-victor_82.76.158.176 on 2005/07/31 17:02:38 hrDiskStorageTable step #2: disk capacity support implemented and some other improvements. Need to add support for md(4) disks. Also I need to figure out if it possible to DIOCGMEDIASIZE for CD/DVD drives without blocking the SNMP agent till the unit is ready. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#7 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#13 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#17 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#7 (text+ko) ==== @@ -334,6 +334,11 @@ entry = TAILQ_FIRST(&hrState_g.hr_device_tbl); while (entry != NULL) { entry_tmp = TAILQ_NEXT(entry, link); + /* + * If HR_DEVICE_IMMUTABLE bit is set then this means that + * this entry was not detected by the above hrDevice_OS_get_devices_v() + * call. So we are not deleting it there. + */ if (!(entry->flags & HR_DEVICE_FOUND) && !(entry->flags & HR_DEVICE_IMMUTABLE) ) hrDeviceTblEntry_delete_v(entry); entry = entry_tmp; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#2 (text+ko) ==== @@ -44,6 +44,8 @@ #include #include #include +#include +#include extern struct hrDeviceTblEntry * @@ -101,18 +103,6 @@ return (NULL); } -static -void hrDiskStorageTbl_fill_entry(const char* dev_name, struct hrDiskStorageTblEntry* entry) { - assert(dev_name != NULL); - assert(entry != NULL); - if (dev_name == NULL || entry == NULL) - return; - /*FIX ME*/ - entry->access = DS_READ_WRITE; - entry->media = DSM_UNKNOWN; - entry->removable = SNMP_FALSE; - entry->capacity = 0; -} static struct hrDeviceTblEntry* @@ -210,20 +200,59 @@ static +void hrDiskStorage_queryDisk(struct hrDiskStorageTblEntry *entry){ + char dev_path[128] = ""; + int fd = -1; + if (entry == NULL) { + return; + } + if( entry->dev_name[0] == '\0' ) { + return; + } + snprintf(dev_path, sizeof(dev_path) - 1, "/dev/%s", entry->dev_name); + entry->capacity = 0; + HR_DPRINTF((stderr,"OPENING device %s\n",dev_path)); + fd = open(dev_path, O_RDONLY|O_NONBLOCK); + if ( fd < 0 ) { + HR_DPRINTF((stderr,"OPEN device %s failed: %d (%s)\n", + dev_path, + errno, + strerror(errno))); + goto QUERY_DONE; + } else { + off_t mediasize = 0; + if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) < 0) { + HR_DPRINTF((stderr,"DIOCGMEDIASIZE for device %s failed: %d (%s)\n", + dev_path, + errno, + strerror(errno))); + goto QUERY_DONE; + } + mediasize = mediasize / 1024; + entry->capacity = (mediasize > (off_t)INT_MAX ? INT_MAX : mediasize); + } +QUERY_DONE: + if (fd > 0) { + close(fd); + } + +} +static void hrDiskStorage_OS_get_ATA_disks_v(void) { struct hrDeviceTblEntry *entry = NULL; struct hrDiskStorageTblEntry *disk_entry = NULL; struct ata_cmd iocmd; - int fd, maxunit, unit, i; - - if ((fd = open("/dev/ata", O_RDWR)) < 0) { - syslog(LOG_ERR, "open /dev/ata failed:%m"); - return; + int maxunit, unit, i; + if ( hrState_g.ata_fd < 0 ){ + if ((hrState_g.ata_fd = open("/dev/ata", O_RDWR)) < 0) { + syslog(LOG_ERR, "open /dev/ata failed:%m"); + return; + } } iocmd.cmd = ATAGMAXCHANNEL; - if (ioctl(fd, IOCATA, &iocmd) < 0) { + if (ioctl(hrState_g.ata_fd, IOCATA, &iocmd) < 0) { syslog(LOG_ERR, "ioctl(ATAGMAXCHANNEL) failed: %m"); goto ATA_DONE; } @@ -235,7 +264,7 @@ u_iocmd.channel = unit; u_iocmd.device = -1; u_iocmd.cmd = ATAGPARM; - if (ioctl(fd, IOCATA, &u_iocmd) < 0) { + if (ioctl(hrState_g.ata_fd, IOCATA, &u_iocmd) < 0) { syslog(LOG_ERR, "ioctl(IOCATA) failed: %m"); continue; } @@ -244,72 +273,78 @@ if (!u_iocmd.u.param.type[i]) { continue; } - + /*first check if this disk is in hrDeiveTable*/ entry = hrDeviceTblEntry_find_by_name(u_iocmd.u.param.name[i]); if (entry == NULL) { HR_DPRINTF((stderr, "hrDiskStorageTable; disk %s not in hrDeviceTable\n", u_iocmd.u.param.name[i] )); entry = hrDeviceTblEntry_create(u_iocmd.u.param.name[i]); + assert(entry != NULL); + if (entry == NULL) { + continue; + } + + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: <%s, ser. %s> ", + u_iocmd.u.param.name[i], + u_iocmd.u.param.params[i].model, + u_iocmd.u.param.params[i].serial); + }else{ HR_DPRINTF((stderr, "hrDiskStorageTable; disk %s already in hrDeviceTable\n", u_iocmd.u.param.name[i] )); } - if (entry == NULL) - continue; entry->flags |= HR_DEVICE_IMMUTABLE; - entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; - entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DR_RUNNING; - entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, - "%s: <%s, %s> ", - u_iocmd.u.param.name[i], - u_iocmd.u.param.params[i].model, - u_iocmd.u.param.params[i].serial); - + entry->flags |= HR_DEVICE_FOUND; + /*Then check hrDiskStorage table for this device*/ disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); if (disk_entry == NULL) { disk_entry = hrDiskStorageEntry_create(entry); - } - assert(disk_entry != NULL); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + disk_entry->access = DS_READ_WRITE; + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, u_iocmd.u.param.name[i], sizeof(disk_entry->dev_name)-1); - disk_entry->flags |= HR_DISKSTORAGE_FOUND; - disk_entry->access = DS_READ_WRITE; - - switch (u_iocmd.u.param.params[i].config & ATA_ATAPI_TYPE_MASK) { - case ATA_ATAPI_TYPE_DIRECT: + if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { disk_entry->media = DSM_HARDDISK; - break; - case ATA_ATAPI_TYPE_TAPE: + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { disk_entry->media = DSM_OTHER; - break; - - case ATA_ATAPI_TYPE_CDROM: + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { disk_entry->media = DSM_OPTICALDISKROM; - disk_entry->access = DS_READ_ONLY; - break; - case ATA_ATAPI_TYPE_OPTICAL: - disk_entry->media = DSM_OPTICALDISKRW; - break; - default: + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { + disk_entry->media = DSM_FLOPPYDISK; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_TRUE; + } else { disk_entry->media = DSM_UNKNOWN; - break; + disk_entry->removable = SNMP_FALSE; + } } - - disk_entry->removable = - (u_iocmd.u.param.params[i].removable_status > 0 ? SNMP_TRUE : SNMP_FALSE ); - - disk_entry->capacity = 0; + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_ATA; + + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; } } ATA_DONE: - if (close(fd) < 0) { - syslog(LOG_ERR, "close(/dev/ata) failed: %m"); - } + return; } static @@ -387,8 +422,35 @@ disk_entry = hrDiskStorageEntry_create(entry); } assert(disk_entry != NULL); - hrDiskStorageTbl_fill_entry(disk, disk_entry); disk_entry->flags |= HR_DISKSTORAGE_FOUND; + + if ( (disk_entry->flags & HR_DISKSTORAGE_ATA) == HR_DISKSTORAGE_ATA ) { + /*ATA detection is running before this one, so don't waste the time here */ + continue; + } + + disk_entry->access = DS_READ_WRITE; + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + + + if (strncmp(disk_entry->dev_name, "da", strlen("da")) == 0) { + disk_entry->media = DSM_HARDDISK; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "cd", strlen("cd")) == 0) { + disk_entry->media = DSM_OPTICALDISKROM; + disk_entry->removable = SNMP_TRUE; + } else { + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + } + + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, disk, sizeof(disk_entry->dev_name)-1); + + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; + } @@ -437,9 +499,9 @@ entry->flags &= ~HR_DISKSTORAGE_FOUND; } + hrDiskStorage_OS_get_ATA_disks_v(); /*this must be called first !*/ hrDiskStorage_OS_get_disks_v(); - hrDiskStorage_OS_get_ATA_disks_v(); /* * Purge items items that disappeared ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#13 (text+ko) ==== @@ -90,7 +90,8 @@ syslog(LOG_ERR, "kvm_open failed: %m "); return (-1); /*error*/ } - + hrState_g.ata_fd = -1; + hrState_g.dev_root = NULL; hrState_g.hrSWOSIndex = 0; @@ -153,7 +154,7 @@ } hrState_g.devd_fd = NULL; - + HR_DPRINTF((stderr, "[%s] done.\n", __func__)); return (0); } @@ -234,7 +235,13 @@ hrState_g.hw_ncpu = 0; hrState_g.fscale = 0; hrState_g.ccpu = 0; - + + if (hrState_g.ata_fd > 0) { + if (close(hrState_g.ata_fd) < 0) { + syslog(LOG_ERR,"close (/dev/ata) failed: %m"); + } + hrState_g.ata_fd = -1; + } if( host_registration_id > 0){ or_unregister(host_registration_id); } @@ -248,6 +255,7 @@ */ static void hostres_idle_v(void) { +#if 0 if ( (time(NULL) - hrState_g.hrStorage_tbl_age) > HR_STORAGE_TBL_REFRESH ) { HR_DPRINTF((stderr, "%s: hrStorageTable needs refresh\n ", __func__)); refresh_hrStorage_tbl_v(); @@ -261,14 +269,15 @@ HR_DPRINTF((stderr, "%s: hrSWRunTable needs refresh\n ", __func__)); refresh_hrSWRun_tbl_v(); } -/* + if ( (time(NULL) - hrState_g.hrDevice_tbl_age) > HR_DEVICE_TBL_REFRESH ) { HR_DPRINTF((stderr, "%s: hrDeviceTable needs refresh\n ", __func__)); refresh_hrDevice_tbl_v(); } -*/ + HR_DPRINTF((stderr, "[%s] done.\n ", __func__)); +#endif } /* ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#17 (text+ko) ==== @@ -203,7 +203,7 @@ /* * This structure is used to hold a SNMP table entry * for HOST-RESOURCES-MIB's hrProcessorTable - * Note that index is external being allocated & mainatined + * Note that index is external being allocated & maintained * by the hrDeviceTable code. */ @@ -239,6 +239,14 @@ DSM_RAMDISK = 8 }; +/* + * This structure is used to hold a SNMP table entry + * for HOST-RESOURCES-MIB's hrDiskStorageTable + * Note that index is external being allocated & maintained + * by the hrDeviceTable code. + * NOTE: according to MIB removable means removable media, not the + * device itself (like a USB card reader) + */ struct hrDiskStorageTblEntry { int32_t index; int32_t access; /*enum hrDiskStrorageAccess */ @@ -247,9 +255,11 @@ int32_t capacity; TAILQ_ENTRY(hrDiskStorageTblEntry) link; /*next items are not from the SNMP mib table, only to be used internally*/ -#define HR_DISKSTORAGE_FOUND 0x001 +#define HR_DISKSTORAGE_FOUND 0x001 +#define HR_DISKSTORAGE_ATA 0x002 /*belongs to the ATA subsystem*/ uint32_t flags; uint64_t r_tick; + u_char dev_name[32]; /*device name, i.e. "ad4" or "acd0"*/ }; @@ -402,6 +412,7 @@ time_t hrDiskStorage_age; char* disk_list; /*returned by sysctl("kern.disks")*/ size_t disk_list_len; + int ata_fd; /* fd for "/dev/ata"*/ }; From owner-p4-projects@FreeBSD.ORG Sun Jul 31 22:54:32 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9AA416A421; Sun, 31 Jul 2005 22:54:31 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8100816A41F for ; Sun, 31 Jul 2005 22:54:31 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 313A643D48 for ; Sun, 31 Jul 2005 22:54:31 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6VMsVPl018654 for ; Sun, 31 Jul 2005 22:54:31 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6VMsUSL018651 for perforce@freebsd.org; Sun, 31 Jul 2005 22:54:30 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 31 Jul 2005 22:54:30 GMT Message-Id: <200507312254.j6VMsUSL018651@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 81259 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jul 2005 22:54:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=81259 Change 81259 by soc-victor@soc-victor_82.76.158.176 on 2005/07/31 22:53:39 hrDiskStorageTable step #3: added the md(4) support. The issue with removable media (CD, DVD, CF) not solved yet. Blocking is bad .... Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#15 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#14 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#18 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#15 (text+ko) ==== @@ -38,7 +38,7 @@ WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr -#CFLAGS+= -DNDEBUG +CFLAGS+= -DNDEBUG XSYM= host hrStorageOther hrStorageRam hrStorageVirtualMemory \ hrStorageFixedDisk hrStorageRemovableDisk hrStorageFloppyDisk \ hrStorageCompactDisc hrStorageRamDisk hrStorageFlashMemory \ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#3 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include extern struct hrDeviceTblEntry * @@ -246,11 +247,9 @@ struct ata_cmd iocmd; int maxunit, unit, i; if ( hrState_g.ata_fd < 0 ){ - if ((hrState_g.ata_fd = open("/dev/ata", O_RDWR)) < 0) { - syslog(LOG_ERR, "open /dev/ata failed:%m"); - return; - } + return; } + iocmd.cmd = ATAGMAXCHANNEL; if (ioctl(hrState_g.ata_fd, IOCATA, &iocmd) < 0) { syslog(LOG_ERR, "ioctl(ATAGMAXCHANNEL) failed: %m"); @@ -277,7 +276,7 @@ entry = hrDeviceTblEntry_find_by_name(u_iocmd.u.param.name[i]); if (entry == NULL) { HR_DPRINTF((stderr, - "hrDiskStorageTable; disk %s not in hrDeviceTable\n", + "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", u_iocmd.u.param.name[i] )); entry = hrDeviceTblEntry_create(u_iocmd.u.param.name[i]); assert(entry != NULL); @@ -297,7 +296,7 @@ }else{ HR_DPRINTF((stderr, - "hrDiskStorageTable; disk %s already in hrDeviceTable\n", + "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", u_iocmd.u.param.name[i] )); } entry->flags |= HR_DEVICE_IMMUTABLE; @@ -346,7 +345,102 @@ ATA_DONE: return; } + +static +void +hrDiskStorage_OS_get_MD_disks_v(void) { + struct hrDeviceTblEntry *entry = NULL; + struct hrDiskStorageTblEntry *disk_entry = NULL; + + struct md_ioctl mdio; + int unit = 0; + + + if ( hrState_g.md_fd < 0 ){ + return; + } + memset(&mdio, 0, sizeof(mdio)); + mdio.md_version = MDIOVERSION; + mdio.md_options = MD_AUTOUNIT; + if (ioctl( hrState_g.md_fd, MDIOCLIST, &mdio) < 0) { + syslog(LOG_ERR, "ioctl(/dev/%s) failed: %m", MDCTL_NAME); + return; + } + for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { + char mddev[64] = ""; + snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); + struct md_ioctl u_mdio; + + memset(&u_mdio, 0, sizeof(u_mdio)); + u_mdio.md_version = MDIOVERSION; + u_mdio.md_unit = mdio.md_pad[unit + 1]; + + if (ioctl( hrState_g.md_fd, MDIOCQUERY, &u_mdio) < 0) { + syslog(LOG_ERR, "ioctl(/dev/%s, MDIOCQUERY) [%s] failed: %m", MDCTL_NAME, mddev); + continue; + } + + + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(mddev); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable; MD %s not in hrDeviceTable\n", + mddev )); + entry = hrDeviceTblEntry_create(mddev); + assert(entry != NULL); + if (entry == NULL) { + continue; + } + + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: Memory Disk ", + mddev); + + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; MD %s already in hrDeviceTable\n", + mddev )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; + + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + if ((u_mdio.md_options & MD_READONLY) == MD_READONLY) { + disk_entry->access = DS_READ_ONLY; + } else { + disk_entry->access = DS_READ_WRITE; + } + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, mddev, sizeof(disk_entry->dev_name)-1); + + disk_entry->media = DSM_RAMDISK; + disk_entry->removable = SNMP_FALSE; + + + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_MD; + disk_entry->capacity = u_mdio.md_size / 2; + + disk_entry->r_tick = this_tick; + + } +} + + static void hrDiskStorage_OS_get_disks_v(void) { @@ -424,7 +518,8 @@ assert(disk_entry != NULL); disk_entry->flags |= HR_DISKSTORAGE_FOUND; - if ( (disk_entry->flags & HR_DISKSTORAGE_ATA) == HR_DISKSTORAGE_ATA ) { + if ((disk_entry->flags & HR_DISKSTORAGE_ATA) == HR_DISKSTORAGE_ATA || + (disk_entry->flags & HR_DISKSTORAGE_MD) == HR_DISKSTORAGE_MD) { /*ATA detection is running before this one, so don't waste the time here */ continue; } @@ -500,7 +595,7 @@ } hrDiskStorage_OS_get_ATA_disks_v(); /*this must be called first !*/ - + hrDiskStorage_OS_get_MD_disks_v(); hrDiskStorage_OS_get_disks_v(); /* ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#14 (text+ko) ==== @@ -28,6 +28,22 @@ * * Host Resources MIB implementation for SNMPd. */ + +/* This C file contains code developed by Poul-Henning Kamp + * under the following license: + */ + /* + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * wrote this file. As long as you retain this notice you + * can do whatever you want with this stuff. If we meet some day, and you think + * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp + * ---------------------------------------------------------------------------- + * + * $FreeBSD: src/sbin/mdconfig/mdconfig.c,v 1.33.2.1 2004/09/14 03:32:21 jmg Exp $ + * + */ + #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" @@ -38,6 +54,10 @@ #include #include #include +#include +#include +#include +#include /*internal id got after we'll register this module with the agent */ @@ -54,13 +74,49 @@ struct hostres_state hrState_g; +static +void +mdmaybeload(void) +{ + struct module_stat mstat; + int fileid, modid; + const char *name; + char *cp; + + name = MD_MODNAME; + /* scan files in kernel */ + mstat.version = sizeof(struct module_stat); + for (fileid = kldnext(0); fileid > 0; fileid = kldnext(fileid)) { + /* scan modules in file */ + for (modid = kldfirstmod(fileid); modid > 0; + modid = modfnext(modid)) { + if (modstat(modid, &mstat) < 0) + continue; + /* strip bus name if present */ + if ((cp = strchr(mstat.name, '/')) != NULL) { + cp++; + } else { + cp = mstat.name; + } + /* already loaded? */ + if (!strcmp(name, cp)) + return; + } + } + /* not present, we should try to load it */ + if (kldload(name) < 0) { + syslog(LOG_ERR,"kldload(%s) failed: %m\n", name); + } +} + + /* * HOST RESOURCES mib module initialization hook. * Returns 0 on success, < 0 on error */ static int hostres_init(struct lmodule * mod, int argc __unused, char *argv[] __unused) { - + char mddev[32] = ""; hostres_module = mod; @@ -91,7 +147,18 @@ return (-1); /*error*/ } hrState_g.ata_fd = -1; - + if ((hrState_g.ata_fd = open("/dev/ata", O_RDWR)) < 0) { + syslog(LOG_ERR, "open /dev/ata failed:%m"); + } + + mdmaybeload(); + + hrState_g.md_fd = -1; + snprintf(mddev, sizeof(mddev) - 1, "/dev/%s", MDCTL_NAME); + if ((hrState_g.md_fd = open(mddev, O_RDWR)) < 0) { + syslog(LOG_ERR, "open %s failed: %m", mddev); + } + hrState_g.dev_root = NULL; hrState_g.hrSWOSIndex = 0; @@ -242,6 +309,13 @@ } hrState_g.ata_fd = -1; } + if (hrState_g.md_fd > 0) { + if (close(hrState_g.md_fd) < 0) { + syslog(LOG_ERR,"close (/dev/mdctl) failed: %m"); + } + hrState_g.md_fd = -1; + } + if( host_registration_id > 0){ or_unregister(host_registration_id); } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#18 (text+ko) ==== @@ -257,6 +257,7 @@ /*next items are not from the SNMP mib table, only to be used internally*/ #define HR_DISKSTORAGE_FOUND 0x001 #define HR_DISKSTORAGE_ATA 0x002 /*belongs to the ATA subsystem*/ +#define HR_DISKSTORAGE_MD 0x004 /*it is a MD (memory disk) */ uint32_t flags; uint64_t r_tick; u_char dev_name[32]; /*device name, i.e. "ad4" or "acd0"*/ @@ -413,6 +414,7 @@ char* disk_list; /*returned by sysctl("kern.disks")*/ size_t disk_list_len; int ata_fd; /* fd for "/dev/ata"*/ + int md_fd; /* fd for "/dev/mdctl"*/ }; From owner-p4-projects@FreeBSD.ORG Mon Aug 1 10:42:55 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6075F16A421; Mon, 1 Aug 2005 10:42:55 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 34A3116A41F for ; Mon, 1 Aug 2005 10:42:55 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0417E43D45 for ; Mon, 1 Aug 2005 10:42:55 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71Ags6d070743 for ; Mon, 1 Aug 2005 10:42:54 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71Agst1070740 for perforce@freebsd.org; Mon, 1 Aug 2005 10:42:54 GMT (envelope-from soc-saturnero@freebsd.org) Date: Mon, 1 Aug 2005 10:42:54 GMT Message-Id: <200508011042.j71Agst1070740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81273 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 10:42:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=81273 Change 81273 by soc-saturnero@soc-saturnero_sberta on 2005/08/01 10:42:37 Added use of GEOM_LABEL Affected files ... .. //depot/projects/soc2005/freesbie/scripts/iso.sh#2 edit Differences ... ==== //depot/projects/soc2005/freesbie/scripts/iso.sh#2 (text+ko) ==== @@ -12,6 +12,8 @@ exit 1 fi +LABEL="FreeSBIE" + echo "#### Building bootable ISO image for ${ARCH} ####" # This part was taken from the mkisoimages.sh scripts under @@ -36,14 +38,16 @@ mkdir -p ${CLONEDIR}/dist mv root.dist.bz2 ${CLONEDIR}/dist/ +echo "/dev/iso9660/${LABEL} / cd9660 rw 0 0" > ${CLONEDIR}/etc/fstab + cd ${CLONEDIR} echo "Running mkisofs..." -mkisofs -b boot/cdboot -no-emul-boot -JR -ldots -V FreeSBIE -p FreeSBIE -o $ISOPATH . >> ${LOGFILE} 2>&1 +mkisofs -b boot/cdboot -no-emul-boot -r -ldots -l -L -V ${LABEL} -p FreeSBIE -o $ISOPATH . >> ${LOGFILE} 2>&1 echo "ISO created:" ls -lh ${ISOPATH} -cd ${LOCALDIR}+cd ${LOCALDIR} From owner-p4-projects@FreeBSD.ORG Mon Aug 1 11:54:22 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9542E16A421; Mon, 1 Aug 2005 11:54:21 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 52BFD16A41F for ; Mon, 1 Aug 2005 11:54:21 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0420843D4C for ; Mon, 1 Aug 2005 11:54:21 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71BsK2J076553 for ; Mon, 1 Aug 2005 11:54:20 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71BsKh8076549 for perforce@freebsd.org; Mon, 1 Aug 2005 11:54:20 GMT (envelope-from soc-andrew@freebsd.org) Date: Mon, 1 Aug 2005 11:54:20 GMT Message-Id: <200508011154.j71BsKh8076549@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81274 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 11:54:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=81274 Change 81274 by soc-andrew@soc-andrew_serv on 2005/08/01 11:54:04 Add a window to explain how to get to a shell interface Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#4 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#4 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.h#2 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#4 (text+ko) ==== @@ -272,7 +272,7 @@ } else if (strcmp(dfui_response_get_action_id(r), "utilities") == 0) { state = state_utilities_menu; } else if (strcmp(dfui_response_get_action_id(r), "exit") == 0) { - state = NULL; + state = state_exit_live_cd; } else if (strcmp(dfui_response_get_action_id(r), "configure_netboot") == 0) { state = state_setup_remote_installation_server; } else if (strcmp(dfui_response_get_action_id(r), "reboot") == 0) { @@ -349,7 +349,7 @@ } else if (strcmp(dfui_response_get_action_id(r), "utilities") == 0) { state = state_utilities_menu; } else if (strcmp(dfui_response_get_action_id(r), "exit") == 0) { - state = NULL; + state = state_exit_live_cd; } else if (strcmp(dfui_response_get_action_id(r), "reboot") == 0) { state = state_reboot; } ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#4 (text+ko) ==== @@ -44,6 +44,7 @@ void state_create_subpartitions(struct i_fn_args *); void state_install_os(struct i_fn_args *); +void state_welcome(struct i_fn_args *); struct dist { const char *name; @@ -66,6 +67,39 @@ { NULL, NULL } }; +void +state_exit_live_cd(struct i_fn_args *a) +{ + struct dfui_form *f; + struct dfui_response *r; + struct dfui_dataset *ds; + int dist=0; + + f = dfui_form_create( + "exit_live_cd", + _("Open a Shell"), + _("To get to a live shell press +F3.\n" + "To return press +F1."), + _("TODO: Insert help"), + + "p", "role", "menu", + + "a", "ok", _("Return to Main Menu"), "", "", + "p", "accelerator", "ESC", + + NULL + ); + + if (!dfui_be_present(a->c, f, &r)) + abort_backend(); + + /* Clean up */ + dfui_form_free(f); + dfui_response_free(r); + + state = state_welcome; +} + /* * state_select_dists: Choose what distributions to install. */ ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.h#2 (text+ko) ==== @@ -27,6 +27,7 @@ #ifndef __EXTRA_FLOW_H__ #define __EXTRA_FLOW_H__ -void state_select_dists(struct i_fn_args *a); +void state_select_dists(struct i_fn_args *); +void state_exit_live_cd(struct i_fn_args *); #endif /* __EXTRA_FLOW_H__ */ From owner-p4-projects@FreeBSD.ORG Mon Aug 1 14:47:53 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0896C16A421; Mon, 1 Aug 2005 14:47:53 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D257F16A41F for ; Mon, 1 Aug 2005 14:47:52 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9EAAC43D46 for ; Mon, 1 Aug 2005 14:47:52 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71ElqTT093242 for ; Mon, 1 Aug 2005 14:47:52 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71ElqVb093239 for perforce@freebsd.org; Mon, 1 Aug 2005 14:47:52 GMT (envelope-from soc-saturnero@freebsd.org) Date: Mon, 1 Aug 2005 14:47:52 GMT Message-Id: <200508011447.j71ElqVb093239@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 14:47:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=81281 Change 81281 by soc-saturnero@soc-saturnero_sberta on 2005/08/01 14:46:55 rc script for uzip mount Affected files ... .. //depot/projects/soc2005/freesbie/conf/rc.d/uzip#1 add .. //depot/projects/soc2005/freesbie/scripts/clonefs.sh#2 edit Differences ... ==== //depot/projects/soc2005/freesbie/scripts/clonefs.sh#2 (text+ko) ==== @@ -102,9 +102,15 @@ mkdir -p ${CLONEDIR}/uzip USRDEVICE=$(create_vnode ${CLONEDIR}/uzip/usr.ufs usr) - VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var) - - trap "umount_md_devices ${USRDEVICE} ${VARDEVICE}; exit 1" INT + DEVICES=${USRDEVICE} + + # When NO_UNIONFS is set, we prefer using a mdmfs var (created + # automatically by rc.d scripts + if [ -z "${NO_UNIONFS:-}" ]; then + VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var) + DEVICES=${DEVICES} ${VARDEVICE} + fi + trap "umount_md_devices ${DEVICES}; exit 1" INT fi cd ${BASEDIR} @@ -112,10 +118,16 @@ find . -print -depth | cpio -pvudm ${CLONEDIR} >> ${LOGFILE} 2>&1 if [ -z "${NO_COMPRESSEDFS:-}" ]; then - umount_md_devices ${USRDEVICE} ${VARDEVICE} + umount_md_devices ${DEVICES} trap "" INT uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip - uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip + if [ -z "${NO_UNIONFS:-}" ]; then + uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip + fi + + #Copy the rc script + cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/ + chmod 555 ${CLONEDIR}/etc/rc.d/uzip fi } From owner-p4-projects@FreeBSD.ORG Mon Aug 1 15:03:12 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7427116A421; Mon, 1 Aug 2005 15:03:12 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 50A9A16A41F for ; Mon, 1 Aug 2005 15:03:12 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1F43343D45 for ; Mon, 1 Aug 2005 15:03:12 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71F3CUd094189 for ; Mon, 1 Aug 2005 15:03:12 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71F3B6b094186 for perforce@freebsd.org; Mon, 1 Aug 2005 15:03:11 GMT (envelope-from soc-saturnero@freebsd.org) Date: Mon, 1 Aug 2005 15:03:11 GMT Message-Id: <200508011503.j71F3B6b094186@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 15:03:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=81283 Change 81283 by soc-saturnero@soc-saturnero_sberta on 2005/08/01 15:02:24 Removed debug rows Affected files ... .. //depot/projects/soc2005/freesbie/conf/rc.d/uzip#2 edit Differences ... ==== //depot/projects/soc2005/freesbie/conf/rc.d/uzip#2 (text+ko) ==== @@ -14,7 +14,6 @@ stop_cmd="uzip_stop" uzip_start() { - set -x for loopfs in /uzip/*.uzip; do if [ -f ${loopfs} ]; then filename=${loopfs#/uzip/} @@ -29,7 +28,6 @@ } uzip_stop() { - set -x for mounteddev in /dev/*.uzip; do if [ -c ${mounteddev} ]; then device=${mounteddev%.uzip} From owner-p4-projects@FreeBSD.ORG Mon Aug 1 17:50:42 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B03F416A425; Mon, 1 Aug 2005 17:50:41 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7472016A424 for ; Mon, 1 Aug 2005 17:50:41 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0902C43D48 for ; Mon, 1 Aug 2005 17:50:41 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71HoeK5012488 for ; Mon, 1 Aug 2005 17:50:40 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71HoeAw012485 for perforce@freebsd.org; Mon, 1 Aug 2005 17:50:40 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 17:50:40 GMT Message-Id: <200508011750.j71HoeAw012485@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 17:50:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=81297 Change 81297 by sam@sam_ebb on 2005/08/01 17:50:39 IFC Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#45 integrate Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#45 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.20 2005/07/26 06:00:33 sam Exp $ + * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.23 2005/08/01 16:34:41 sam Exp $ */ /*- @@ -543,15 +543,25 @@ } static -DECL_CMD_FUNC(set80211acm, val, d) +DECL_CMD_FUNC(set80211acm, ac, d) +{ + set80211(s, IEEE80211_IOC_WME_ACM, 1, getac(ac), NULL); +} +static +DECL_CMD_FUNC(set80211noacm, ac, d) { - set80211(s, IEEE80211_IOC_WME_ACM, d, WME_AC_BE, NULL); + set80211(s, IEEE80211_IOC_WME_ACM, 0, getac(ac), NULL); } static -DECL_CMD_FUNC(set80211ackpolicy, val, d) +DECL_CMD_FUNC(set80211ackpolicy, ac, d) +{ + set80211(s, IEEE80211_IOC_WME_ACKPOLICY, 1, getac(ac), NULL); +} +static +DECL_CMD_FUNC(set80211noackpolicy, ac, d) { - set80211(s, IEEE80211_IOC_WME_ACKPOLICY, d, WME_AC_BE, NULL); + set80211(s, IEEE80211_IOC_WME_ACKPOLICY, 0, getac(ac), NULL); } static @@ -1943,10 +1953,10 @@ DEF_CMD_ARG2("cwmax", set80211cwmax), DEF_CMD_ARG2("aifs", set80211aifs), DEF_CMD_ARG2("txoplimit", set80211txoplimit), - DEF_CMD("acm", 1, set80211acm), - DEF_CMD("-acm", 0, set80211acm), - DEF_CMD("ack", 1, set80211ackpolicy), - DEF_CMD("-ack", 0, set80211ackpolicy), + DEF_CMD_ARG("acm", set80211acm), + DEF_CMD_ARG("-acm", set80211noacm), + DEF_CMD_ARG("ack", set80211ackpolicy), + DEF_CMD_ARG("-ack", set80211noackpolicy), DEF_CMD_ARG2("bss:cwmin", set80211bsscwmin), DEF_CMD_ARG2("bss:cwmax", set80211bsscwmax), DEF_CMD_ARG2("bss:aifs", set80211bssaifs), From owner-p4-projects@FreeBSD.ORG Mon Aug 1 17:55:48 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 098EC16A421; Mon, 1 Aug 2005 17:55:48 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8AE916A41F for ; Mon, 1 Aug 2005 17:55:47 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A39A343D45 for ; Mon, 1 Aug 2005 17:55:47 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71HtlAr012743 for ; Mon, 1 Aug 2005 17:55:47 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71HtlnD012740 for perforce@freebsd.org; Mon, 1 Aug 2005 17:55:47 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 17:55:47 GMT Message-Id: <200508011755.j71HtlnD012740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 17:55:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=81298 Change 81298 by sam@sam_ebb on 2005/08/01 17:54:49 IFC send_nulldata refcnt fix Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#58 edit .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#50 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#58 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.76 2005/07/27 04:41:25 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.77 2005/07/31 06:12:32 sam Exp $"); #include #include @@ -2803,7 +2803,7 @@ IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER, "[%s] recv ps-poll, but queue empty\n", ether_sprintf(wh->i_addr2)); - ieee80211_send_nulldata(ni); + ieee80211_send_nulldata(ieee80211_ref_node(ni)); ic->ic_stats.is_ps_qempty++; /* XXX node stat */ if (ic->ic_set_tim != NULL) ic->ic_set_tim(ni, 0); /* just in case */ ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#50 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.31 2005/07/22 21:11:26 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.32 2005/07/31 06:12:32 sam Exp $"); #include "opt_inet.h" @@ -213,6 +213,10 @@ /* * Send a null data frame to the specified node. + * + * NB: the caller is assumed to have setup a node reference + * for use; this is necessary to deal with a race condition + * when probing for inactive stations. */ int ieee80211_send_nulldata(struct ieee80211_node *ni) @@ -226,9 +230,10 @@ if (m == NULL) { /* XXX debug msg */ ic->ic_stats.is_tx_nobuf++; + ieee80211_unref_node(&ni); return ENOMEM; } - m->m_pkthdr.rcvif = (void *) ieee80211_ref_node(ni); + m->m_pkthdr.rcvif = (void *) ni; wh = mtod(m, struct ieee80211_frame *); ieee80211_send_setup(ic, ni, wh, From owner-p4-projects@FreeBSD.ORG Mon Aug 1 17:56:50 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBC9416A421; Mon, 1 Aug 2005 17:56:49 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B5F2916A41F for ; Mon, 1 Aug 2005 17:56:49 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6693843D45 for ; Mon, 1 Aug 2005 17:56:49 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71HunnL012785 for ; Mon, 1 Aug 2005 17:56:49 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71Hunne012782 for perforce@freebsd.org; Mon, 1 Aug 2005 17:56:49 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 17:56:49 GMT Message-Id: <200508011756.j71Hunne012782@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 17:56:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=81299 Change 81299 by sam@sam_ebb on 2005/08/01 17:56:25 checkpoint changes to move keycache up to the 802.11 layer to fix race conditions; still needsz fixup for split tx/rx keys used for tkip on some cards Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#93 edit .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#40 edit .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#15 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#57 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#27 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#93 (text+ko) ==== @@ -1938,32 +1938,17 @@ struct ath_softc *sc = ic->ic_ifp->if_softc; struct ath_hal *ah = sc->sc_ah; const struct ieee80211_cipher *cip = k->wk_cipher; - struct ieee80211_node *ni; u_int keyix = k->wk_keyix; DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s: delete key %u\n", __func__, keyix); ath_hal_keyreset(ah, keyix); /* - * Check the key->node map and flush any ref. - */ - ni = sc->sc_keyixmap[keyix]; - if (ni != NULL) { - ieee80211_free_node(ni); - sc->sc_keyixmap[keyix] = NULL; - } - /* * Handle split tx/rx keying required for TKIP with h/w MIC. */ if (cip->ic_cipher == IEEE80211_CIPHER_TKIP && - (k->wk_flags & IEEE80211_KEY_SWMIC) == 0 && sc->sc_splitmic) { + (k->wk_flags & IEEE80211_KEY_SWMIC) == 0 && sc->sc_splitmic) ath_hal_keyreset(ah, keyix+32); /* RX key */ - ni = sc->sc_keyixmap[keyix+32]; - if (ni != NULL) { /* as above... */ - ieee80211_free_node(ni); - sc->sc_keyixmap[keyix+32] = NULL; - } - } if (keyix >= IEEE80211_WEP_NKID) { /* * Don't touch keymap entries for global keys so @@ -2973,6 +2958,7 @@ ds = bf->bf_desc; ds->ds_link = bf->bf_daddr; /* link to self */ ds->ds_data = bf->bf_segs[0].ds_addr; + ds->ds_vdata = mtod(m, u_int32_t);/*XXX*/ ath_hal_setuprxdesc(ah, ds , m->m_len /* buffer size */ , 0 @@ -3294,51 +3280,22 @@ /* * Locate the node for sender, track state, and then * pass the (referenced) node up to the 802.11 layer - * for its use. If the sender is unknown spam the - * frame; it'll be dropped where it's not wanted. + * for its use. + */ + ni = ieee80211_find_rxnode_withkey(ic, + mtod(m, const struct ieee80211_frame_min *), + ds->ds_rxstat.rs_keyix == HAL_RXKEYIX_INVALID ? + IEEE80211_KEYIX_NONE : ds->ds_rxstat.rs_keyix); + /* + * Track rx rssi and do any rx antenna management. + */ + an = ATH_NODE(ni); + ATH_RSSI_LPF(an->an_avgrssi, ds->ds_rxstat.rs_rssi); + /* + * Send frame up for processing. */ - if (ds->ds_rxstat.rs_keyix != HAL_RXKEYIX_INVALID && - (ni = sc->sc_keyixmap[ds->ds_rxstat.rs_keyix]) != NULL && - ieee80211_node_refcnt(ni) > 1) { - /* - * Fast path: node is present in the key map; - * grab a reference for processing the frame. - */ - an = ATH_NODE(ieee80211_ref_node(ni)); - ATH_RSSI_LPF(an->an_avgrssi, ds->ds_rxstat.rs_rssi); - type = ieee80211_input(ic, m, ni, - ds->ds_rxstat.rs_rssi, ds->ds_rxstat.rs_tstamp); - } else { - /* - * Locate the node for sender, track state, and then - * pass the (referenced) node up to the 802.11 layer - * for its use. - */ - ni = ieee80211_find_rxnode(ic, - mtod(m, const struct ieee80211_frame_min *)); - /* - * Track rx rssi and do any rx antenna management. - */ - an = ATH_NODE(ni); - ATH_RSSI_LPF(an->an_avgrssi, ds->ds_rxstat.rs_rssi); - /* - * Send frame up for processing. - */ - type = ieee80211_input(ic, m, ni, - ds->ds_rxstat.rs_rssi, ds->ds_rxstat.rs_tstamp); - if (ni != ic->ic_bss) { - u_int16_t keyix; - /* - * If the station has a key cache slot assigned - * update the key->node mapping table. - */ - keyix = ni->ni_ucastkey.wk_keyix; - if (keyix != IEEE80211_KEYIX_NONE && - sc->sc_keyixmap[keyix] == NULL) - sc->sc_keyixmap[keyix] = - ieee80211_ref_node(ni); - } - } + type = ieee80211_input(ic, m, ni, + ds->ds_rxstat.rs_rssi, ds->ds_rxstat.rs_tstamp); ieee80211_free_node(ni); if (sc->sc_diversity) { /* ==== //depot/projects/wifi/sys/dev/ath/if_athvar.h#40 (text+ko) ==== @@ -256,7 +256,6 @@ HAL_INT sc_imask; /* interrupt mask copy */ u_int sc_keymax; /* size of key cache */ u_int8_t sc_keymap[ATH_KEYBYTES];/* key use bit map */ - struct ieee80211_node *sc_keyixmap[ATH_KEYMAX];/* key ix->node map */ u_int sc_ledpin; /* GPIO pin for driving LED */ u_int sc_ledon; /* pin setting for LED on */ ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#15 (text+ko) ==== @@ -416,6 +416,11 @@ ic->ic_stats.is_crypto_delkey++; /* XXX recovery? */ } + /* + * Clear any unicast key index -> node mapping. + */ + if ((key->wk_flags & IEEE80211_KEY_GROUP) == 0) + ieee80211_node_delkey(&ic->ic_sta, keyix); } cipher_detach(key); memset(key, 0, sizeof(*key)); ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#57 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.58 2005/07/27 02:53:09 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.59 2005/07/31 06:12:32 sam Exp $"); #include #include @@ -892,6 +892,11 @@ return ni; } +#define IS_CTL(wh) \ + ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_CTL) +#define IS_PSPOLL(wh) \ + ((wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) == IEEE80211_FC0_SUBTYPE_PS_POLL) + /* * Locate the node for sender, track state, and then pass the * (referenced) node up to the 802.11 layer for its use. We @@ -909,10 +914,6 @@ const struct ieee80211_frame_min *wh) #endif { -#define IS_CTL(wh) \ - ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_CTL) -#define IS_PSPOLL(wh) \ - ((wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) == IEEE80211_FC0_SUBTYPE_PS_POLL) struct ieee80211_node_table *nt; struct ieee80211_node *ni; @@ -924,12 +925,65 @@ ni = _ieee80211_find_node(nt, wh->i_addr1); else ni = _ieee80211_find_node(nt, wh->i_addr2); + if (ni == NULL) + ni = ieee80211_ref_node(ic->ic_bss); + IEEE80211_NODE_UNLOCK(nt); + + return ni; +} + +/* + * Like ieee80211_find_rxnode but use the supplied h/w + * key index as a hint to locate the node in the key + * mapping table. If an entry is present at the key + * index we return it; otherwise do a normal lookup and + * update the mapping table if the station has a unicast + * key assigned to it. + */ +struct ieee80211_node * +#ifdef IEEE80211_DEBUG_REFCNT +ieee80211_find_rxnode_withkey_debug(struct ieee80211com *ic, + const struct ieee80211_frame_min *wh, , u_int16_t keyix, + const char *func, int line) +#else +ieee80211_find_rxnode_withkey(struct ieee80211com *ic, + const struct ieee80211_frame_min *wh, u_int16_t keyix) +#endif +{ + struct ieee80211_node_table *nt; + struct ieee80211_node *ni; + + nt = &ic->ic_sta; + IEEE80211_NODE_LOCK(nt); + KASSERT(keyix == IEEE80211_KEYIX_NONE || keyix < 128, + ("keyix %u out of bounds (1)", keyix)); + ni = (keyix != IEEE80211_KEYIX_NONE) ? nt->nt_keyixmap[keyix] : NULL; + if (ni == NULL) { + if (IS_CTL(wh) && !IS_PSPOLL(wh) /*&& !IS_RTS(ah)*/) + ni = _ieee80211_find_node(nt, wh->i_addr1); + else + ni = _ieee80211_find_node(nt, wh->i_addr2); + if (ni == NULL) + ni = ieee80211_ref_node(ic->ic_bss); + /* + * If the station has a unicast key cache slot + * assigned update the key->node mapping table. + */ + keyix = ni->ni_ucastkey.wk_keyix; + KASSERT(keyix == IEEE80211_KEYIX_NONE || keyix < 128, + ("keyix %u out of bounds (2)", keyix)); + /* XXX can keyixmap[keyix] != NULL? */ + if (keyix != IEEE80211_KEYIX_NONE && + nt->nt_keyixmap[keyix] == NULL) + nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni); + } else + ieee80211_ref_node(ni); IEEE80211_NODE_UNLOCK(nt); - return (ni != NULL ? ni : ieee80211_ref_node(ic->ic_bss)); + return ni; +} #undef IS_PSPOLL #undef IS_CTL -} /* * Return a reference to the appropriate node for sending @@ -948,15 +1002,16 @@ /* * The destination address should be in the node table - * unless we are operating in station mode or this is a - * multicast/broadcast frame. + * unless this is a multicast/broadcast frame. We can + * also ptimize station mode operation, all frames go + * to the bss node. */ - if (ic->ic_opmode == IEEE80211_M_STA || IEEE80211_IS_MULTICAST(macaddr)) - return ieee80211_ref_node(ic->ic_bss); - /* XXX can't hold lock across dup_bss 'cuz of recursive locking */ IEEE80211_NODE_LOCK(nt); - ni = _ieee80211_find_node(nt, macaddr); + if (ic->ic_opmode == IEEE80211_M_STA || IEEE80211_IS_MULTICAST(macaddr)) + ni = ieee80211_ref_node(ic->ic_bss); + else + ni = _ieee80211_find_node(nt, macaddr); IEEE80211_NODE_UNLOCK(nt); if (ni == NULL) { @@ -1068,23 +1123,35 @@ "%s (%s:%u) %p<%s> refcnt %d\n", __func__, func, line, ni, ether_sprintf(ni->ni_macaddr), ieee80211_node_refcnt(ni)-1); #endif - if (ieee80211_node_dectestref(ni)) { - /* - * Beware; if the node is marked gone then it's already - * been removed from the table and we cannot assume the - * table still exists. Regardless, there's no need to lock - * the table. - */ - if (ni->ni_table != NULL) { - IEEE80211_NODE_LOCK(nt); + if (nt != NULL) { + IEEE80211_NODE_LOCK(nt); + if (ieee80211_node_dectestref(ni)) _ieee80211_free_node(ni); - IEEE80211_NODE_UNLOCK(nt); - } else - _ieee80211_free_node(ni); + IEEE80211_NODE_UNLOCK(nt); + } else { + _ieee80211_free_node(ni); } } /* + * Callback from the crypto code when a unicast h/w key + * is deleted; clear any mapping table entry for the key. + */ +void +ieee80211_node_delkey(struct ieee80211_node_table *nt, u_int16_t keyix) +{ + struct ieee80211_node *ni; + + IEEE80211_NODE_LOCK(nt); + ni = nt->nt_keyixmap[keyix]; + nt->nt_keyixmap[keyix] = NULL;; + IEEE80211_NODE_UNLOCK(nt); + + if (ni != NULL) + ieee80211_free_node(ni); +} + +/* * Reclaim a node. If this is the last reference count then * do the normal free work. Otherwise remove it from the node * table and mark it gone by clearing the back-reference. @@ -1092,11 +1159,26 @@ static void node_reclaim(struct ieee80211_node_table *nt, struct ieee80211_node *ni) { + u_int16_t keyix; + IEEE80211_NODE_LOCK_ASSERT(nt); + IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, "%s: remove %p<%s> from %s table, refcnt %d\n", __func__, ni, ether_sprintf(ni->ni_macaddr), nt->nt_name, ieee80211_node_refcnt(ni)-1); + /* + * Clear any entry in the unicast key mapping table. + * We need to do it here so rx lookups don't find it + * in the mapping table even if it's not in the hash + * table. We cannot depend on the mapping table entry + * being cleared because the node may not be free'd. + */ + keyix = ni->ni_ucastkey.wk_keyix; + if (keyix != IEEE80211_KEYIX_NONE && nt->nt_keyixmap[keyix] == ni) { + nt->nt_keyixmap[keyix] = NULL; + ieee80211_node_decref(ni); + } if (!ieee80211_node_dectestref(ni)) { /* * Other references are present, just remove the @@ -1208,6 +1290,14 @@ IEEE80211_MSG_INACT | IEEE80211_MSG_NODE, ni, "%s", "probe station due to inactivity"); + /* + * Grab a reference before unlocking the table + * so the node cannot be reclaimed before we + * send the frame. ieee80211_send_nulldata + * understands we've done this and reclaims the + * ref for us as needed. + */ + ieee80211_ref_node(ni); IEEE80211_NODE_UNLOCK(nt); ieee80211_send_nulldata(ni); /* XXX stat? */ ==== //depot/projects/wifi/sys/net80211/ieee80211_node.h#27 (text+ko) ==== @@ -210,6 +210,7 @@ ieee80211_node_lock_t nt_nodelock; /* on node table */ TAILQ_HEAD(, ieee80211_node) nt_node; /* information of all nodes */ LIST_HEAD(, ieee80211_node) nt_hash[IEEE80211_NODE_HASHSIZE]; + struct ieee80211_node *nt_keyixmap[128];/* key ix -> node map */ const char *nt_name; /* for debugging */ ieee80211_scan_lock_t nt_scanlock; /* on nt_scangen */ u_int nt_scangen; /* gen# for timeout scan */ @@ -224,14 +225,14 @@ #ifdef IEEE80211_DEBUG_REFCNT void ieee80211_free_node_debug(struct ieee80211_node *, const char *func, int line); -struct ieee80211_node *ieee80211_find_node_debug( - struct ieee80211_node_table *, const u_int8_t *, +struct ieee80211_node *ieee80211_find_node_debug(struct ieee80211_node_table *, + const u_int8_t *, const char *func, int line); -struct ieee80211_node * ieee80211_find_rxnode_debug( - struct ieee80211com *, const struct ieee80211_frame_min *, +struct ieee80211_node * ieee80211_find_rxnode_debug(struct ieee80211com *, + const struct ieee80211_frame_min *, const char *func, int line); -struct ieee80211_node *ieee80211_find_txnode_debug( - struct ieee80211com *, const u_int8_t *, +struct ieee80211_node *ieee80211_find_txnode_debug(struct ieee80211com *, + const u_int8_t *, const char *func, int line); struct ieee80211_node *ieee80211_find_node_with_ssid_debug( struct ieee80211_node_table *, const u_int8_t *macaddr, @@ -249,16 +250,19 @@ ieee80211_find_node_with_ssid_debug(nt, mac, sl, ss, __func__, __LINE__) #else void ieee80211_free_node(struct ieee80211_node *); -struct ieee80211_node *ieee80211_find_node( - struct ieee80211_node_table *, const u_int8_t *); -struct ieee80211_node * ieee80211_find_rxnode( - struct ieee80211com *, const struct ieee80211_frame_min *); -struct ieee80211_node *ieee80211_find_txnode( - struct ieee80211com *, const u_int8_t *); +struct ieee80211_node *ieee80211_find_node(struct ieee80211_node_table *, + const u_int8_t *); +struct ieee80211_node * ieee80211_find_rxnode(struct ieee80211com *, + const struct ieee80211_frame_min *); +struct ieee80211_node * ieee80211_find_rxnode_withkey(struct ieee80211com *, + const struct ieee80211_frame_min *, u_int16_t keyix); +struct ieee80211_node *ieee80211_find_txnode(struct ieee80211com *, + const u_int8_t *); struct ieee80211_node *ieee80211_find_node_with_ssid( struct ieee80211_node_table *, const u_int8_t *macaddr, u_int ssidlen, const u_int8_t *ssid); #endif +void ieee80211_node_delkey(struct ieee80211_node_table *, u_int16_t keyix); void ieee80211_node_timeout(void *arg); typedef void ieee80211_iter_func(void *, struct ieee80211_node *); From owner-p4-projects@FreeBSD.ORG Mon Aug 1 21:53:51 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4AD4916A421; Mon, 1 Aug 2005 21:53:51 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0CC2516A41F for ; Mon, 1 Aug 2005 21:53:51 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C607143D45 for ; Mon, 1 Aug 2005 21:53:50 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71LroPg029525 for ; Mon, 1 Aug 2005 21:53:50 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71LroWW029522 for perforce@freebsd.org; Mon, 1 Aug 2005 21:53:50 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 21:53:50 GMT Message-Id: <200508012153.j71LroWW029522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 21:53:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=81314 Change 81314 by sam@sam_ebb on 2005/08/01 21:53:50 Fix problems with key map table handling: o correct braino in ieee80211_free_node (premature node reclaim) o special case ieee80211_free_node handling when the last reference is in the key map; otherwise we orphan nodes until someone resets state o bandaid ieee80211_node_delkey locking; can be called w/ and w/o the node table lock held (still need to fix LOR too) o fix refcnt debug code o add some debug msgs While here make ieee80211_node_table_reset static; no longer needs to be public with new scan code. Also remove extraneous ieee80211_reset_erp call in clearing the node table (didn't belong here anyway). Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#58 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#28 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#58 (text+ko) ==== @@ -72,6 +72,7 @@ static void ieee80211_node_table_init(struct ieee80211com *ic, struct ieee80211_node_table *nt, const char *name, int inact); +static void ieee80211_node_table_reset(struct ieee80211_node_table *); static void ieee80211_node_table_cleanup(struct ieee80211_node_table *nt); MALLOC_DEFINE(M_80211_NODE, "80211node", "802.11 node state"); @@ -943,7 +944,7 @@ struct ieee80211_node * #ifdef IEEE80211_DEBUG_REFCNT ieee80211_find_rxnode_withkey_debug(struct ieee80211com *ic, - const struct ieee80211_frame_min *wh, , u_int16_t keyix, + const struct ieee80211_frame_min *wh, u_int16_t keyix, const char *func, int line) #else ieee80211_find_rxnode_withkey(struct ieee80211com *ic, @@ -974,8 +975,13 @@ ("keyix %u out of bounds (2)", keyix)); /* XXX can keyixmap[keyix] != NULL? */ if (keyix != IEEE80211_KEYIX_NONE && - nt->nt_keyixmap[keyix] == NULL) + nt->nt_keyixmap[keyix] == NULL) { + IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, + "%s: add key map entry %p<%s> refcnt %d\n", + __func__, ni, ether_sprintf(ni->ni_macaddr), + ieee80211_node_refcnt(ni)+1); nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni); + } } else ieee80211_ref_node(ni); IEEE80211_NODE_UNLOCK(nt); @@ -1125,11 +1131,31 @@ #endif if (nt != NULL) { IEEE80211_NODE_LOCK(nt); - if (ieee80211_node_dectestref(ni)) + if (ieee80211_node_dectestref(ni)) { + /* + * Last reference, reclaim state. + */ _ieee80211_free_node(ni); + } else if (ieee80211_node_refcnt(ni) == 1) { + u_int16_t keyix; + /* + * Check for a last reference in the key mapping table. + */ + keyix = ni->ni_ucastkey.wk_keyix; + if (keyix != IEEE80211_KEYIX_NONE && + nt->nt_keyixmap[keyix] == ni) { + IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, + "%s: %p<%s> clear key map entry", __func__, + ni, ether_sprintf(ni->ni_macaddr)); + nt->nt_keyixmap[keyix] = NULL; + ieee80211_node_decref(ni); /* XXX needed? */ + _ieee80211_free_node(ni); + } + } IEEE80211_NODE_UNLOCK(nt); } else { - _ieee80211_free_node(ni); + if (ieee80211_node_dectestref(ni)) + _ieee80211_free_node(ni); } } @@ -1141,14 +1167,23 @@ ieee80211_node_delkey(struct ieee80211_node_table *nt, u_int16_t keyix) { struct ieee80211_node *ni; + int isowned = mtx_owned(&nt->nt_nodelock); - IEEE80211_NODE_LOCK(nt); + /* XXX can be entered w/ or w/o lock */ + if (!isowned) + IEEE80211_NODE_LOCK(nt); ni = nt->nt_keyixmap[keyix]; nt->nt_keyixmap[keyix] = NULL;; - IEEE80211_NODE_UNLOCK(nt); + if (!isowned) + IEEE80211_NODE_UNLOCK(nt); - if (ni != NULL) + if (ni != NULL) { + IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, + "%s: delete key map entry %p<%s> refcnt %d\n", + __func__, ni, ether_sprintf(ni->ni_macaddr), + ieee80211_node_refcnt(ni)-1); ieee80211_free_node(ni); + } } /* @@ -1176,6 +1211,9 @@ */ keyix = ni->ni_ucastkey.wk_keyix; if (keyix != IEEE80211_KEYIX_NONE && nt->nt_keyixmap[keyix] == ni) { + IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, + "%s: %p<%s> clear key map entry\n", + __func__, ni, ether_sprintf(ni->ni_macaddr)); nt->nt_keyixmap[keyix] = NULL; ieee80211_node_decref(ni); } @@ -1210,7 +1248,6 @@ } node_reclaim(nt, ni); } - ieee80211_reset_erp(ic); } /* @@ -1716,7 +1753,7 @@ nt->nt_inact_init = inact; } -void +static void ieee80211_node_table_reset(struct ieee80211_node_table *nt) { ==== //depot/projects/wifi/sys/net80211/ieee80211_node.h#28 (text+ko) ==== @@ -216,7 +216,6 @@ u_int nt_scangen; /* gen# for timeout scan */ int nt_inact_init; /* initial node inact setting */ }; -void ieee80211_node_table_reset(struct ieee80211_node_table *); struct ieee80211_node *ieee80211_alloc_node( struct ieee80211_node_table *, const u_int8_t *); @@ -231,6 +230,10 @@ struct ieee80211_node * ieee80211_find_rxnode_debug(struct ieee80211com *, const struct ieee80211_frame_min *, const char *func, int line); +struct ieee80211_node * ieee80211_find_rxnode_withkey_debug( + struct ieee80211com *, + const struct ieee80211_frame_min *, u_int16_t keyix, + const char *func, int line); struct ieee80211_node *ieee80211_find_txnode_debug(struct ieee80211com *, const u_int8_t *, const char *func, int line); @@ -244,6 +247,8 @@ ieee80211_find_node_debug(nt, mac, __func__, __LINE__) #define ieee80211_find_rxnode(nt, wh) \ ieee80211_find_rxnode_debug(nt, wh, __func__, __LINE__) +#define ieee80211_find_rxnode_withkey(nt, wh, keyix) \ + ieee80211_find_rxnode_withkey_debug(nt, wh, keyix, __func__, __LINE__) #define ieee80211_find_txnode(nt, mac) \ ieee80211_find_txnode_debug(nt, mac, __func__, __LINE__) #define ieee80211_find_node_with_ssid(nt, mac, sl, ss) \ From owner-p4-projects@FreeBSD.ORG Mon Aug 1 21:56:56 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1088016A421; Mon, 1 Aug 2005 21:56:56 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEF3F16A41F for ; Mon, 1 Aug 2005 21:56:55 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 17EBA43D4C for ; Mon, 1 Aug 2005 21:56:55 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71Lusbu029652 for ; Mon, 1 Aug 2005 21:56:54 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71LusCV029648 for perforce@freebsd.org; Mon, 1 Aug 2005 21:56:54 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 21:56:54 GMT Message-Id: <200508012156.j71LusCV029648@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81315 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 21:56:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=81315 Change 81315 by sam@sam_ebb on 2005/08/01 21:56:24 Use a private callout to timeout mgt frames instead of using the watchdog timer; this eliminates another incestuous tie between the driver and net80211. Also bring in proper handling of tx timeout on auth frames: notify the scan module so the entry is ignored; this fixes problems with ap's moving channel. Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#94 edit .. //depot/projects/wifi/sys/net80211/ieee80211.c#26 edit .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#51 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#33 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#32 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#94 (text+ko) ==== @@ -4370,8 +4370,6 @@ ath_hal_txprocdesc(ah, bf->bf_desc) == HAL_OK); #endif /* AR_DEBUG */ bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); - m_freem(bf->bf_m); - bf->bf_m = NULL; ni = bf->bf_node; bf->bf_node = NULL; if (ni != NULL) { @@ -4380,6 +4378,8 @@ */ ieee80211_free_node(ni); } + m_freem(bf->bf_m); + bf->bf_m = NULL; ATH_TXBUF_LOCK(sc); STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); ATH_TXBUF_UNLOCK(sc); @@ -5198,7 +5198,6 @@ ath_watchdog(struct ifnet *ifp) { struct ath_softc *sc = ifp->if_softc; - struct ieee80211com *ic = &sc->sc_ic; ifp->if_timer = 0; if ((ifp->if_flags & IFF_RUNNING) == 0 || sc->sc_invalid) @@ -5212,7 +5211,6 @@ } else ifp->if_timer = 1; } - ieee80211_watchdog(ic); } /* ==== //depot/projects/wifi/sys/net80211/ieee80211.c#26 (text+ko) ==== @@ -795,18 +795,6 @@ imr->ifm_active |= IFM_AUTO; } -void -ieee80211_watchdog(struct ieee80211com *ic) -{ - - if (ic->ic_state != IEEE80211_S_INIT) { - if (ic->ic_mgt_timer && --ic->ic_mgt_timer == 0) - ieee80211_new_state(ic, IEEE80211_S_SCAN, 0); - } - if (ic->ic_mgt_timer != 0) - ic->ic_ifp->if_timer = 1; -} - /* * Set the current phy mode and recalculate the active channel * set based on the available channels for this mode. Also ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#51 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.32 2005/07/31 06:12:32 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.31 2005/07/22 21:11:26 sam Exp $"); #include "opt_inet.h" @@ -64,6 +64,7 @@ struct mbuf *m2, const struct ether_header *eh2); static int ieee80211_fragment(struct ieee80211com *, struct mbuf *, u_int hdrsize, u_int ciphdrsize, u_int mtu); +static void ieee80211_tx_timeout(void *); #ifdef IEEE80211_DEBUG /* @@ -213,10 +214,6 @@ /* * Send a null data frame to the specified node. - * - * NB: the caller is assumed to have setup a node reference - * for use; this is necessary to deal with a race condition - * when probing for inactive stations. */ int ieee80211_send_nulldata(struct ieee80211_node *ni) @@ -230,10 +227,9 @@ if (m == NULL) { /* XXX debug msg */ ic->ic_stats.is_tx_nobuf++; - ieee80211_unref_node(&ni); return ENOMEM; } - m->m_pkthdr.rcvif = (void *) ni; + m->m_pkthdr.rcvif = (void *) ieee80211_ref_node(ni); wh = mtod(m, struct ieee80211_frame *); ieee80211_send_setup(ic, ni, wh, @@ -1703,17 +1699,34 @@ } ret = ieee80211_mgmt_output(ic, ni, m, type); - if (ret == 0) { - if (timer) - ic->ic_mgt_timer = timer; - } else { + if (ret != 0) + goto bad; + if (timer) + callout_reset(&ic->ic_mgtsend, timer*hz, + ieee80211_tx_timeout, ic); + return 0; bad: - ieee80211_free_node(ni); - } + ieee80211_free_node(ni); return ret; #undef senderr } +static void +ieee80211_tx_timeout(void *arg) +{ + struct ieee80211com *ic = arg; + + if (ic->ic_state != IEEE80211_S_INIT && + (ic->ic_flags & IEEE80211_F_SCAN) == 0) { + /* + * NB: it's safe to specify a timeout as the reason here; + * it'll only be used in the right state. + */ + ieee80211_new_state(ic, IEEE80211_S_SCAN, + IEEE80211_SCAN_FAIL_TIMEOUT); + } +} + /* * Allocate a beacon frame and fillin the appropriate bits. */ ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#33 (text+ko) ==== @@ -97,6 +97,7 @@ ic->ic_rtsthreshold = IEEE80211_RTS_DEFAULT; ic->ic_fragthreshold = IEEE80211_FRAG_DEFAULT; ic->ic_fixed_rate = IEEE80211_FIXED_RATE_NONE; + callout_init(&ic->ic_mgtsend, CALLOUT_MPSAFE); ic->ic_mcast_rate = IEEE80211_MCAST_RATE_DEFAULT; ic->ic_protmode = IEEE80211_PROT_CTSONLY; ic->ic_roaming = IEEE80211_ROAMING_AUTO; @@ -919,6 +920,7 @@ IEEE80211_DPRINTF(ic, IEEE80211_MSG_STATE, "%s: %s -> %s\n", __func__, ieee80211_state_name[ostate], ieee80211_state_name[nstate]); ic->ic_state = nstate; /* state transition */ + callout_drain(&ic->ic_mgtsend); if (ostate != IEEE80211_S_SCAN) ieee80211_cancel_scan(ic); /* background scan */ ni = ic->ic_bss; /* NB: no reference held */ @@ -963,7 +965,6 @@ goto reset; case IEEE80211_S_AUTH: reset: - ic->ic_mgt_timer = 0; IF_DRAIN(&ic->ic_mgtq); ieee80211_reset_bss(ic); break; @@ -1144,7 +1145,6 @@ IEEE80211_RATE2MBS(ni->ni_rates.rs_rates[ni->ni_txrate])); } #endif - ic->ic_mgt_timer = 0; if (ic->ic_opmode == IEEE80211_M_STA) ieee80211_scan_assoc_success(ic, ni->ni_macaddr); ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#32 (text+ko) ==== @@ -175,6 +175,7 @@ struct ifqueue ic_mgtq; enum ieee80211_state ic_state; /* 802.11 state */ + struct callout ic_mgtsend; /* mgmt frame response timer */ u_int32_t *ic_aid_bitmap; /* association id map */ u_int16_t ic_max_aid; u_int16_t ic_ps_sta; /* stations in power save */ @@ -193,7 +194,6 @@ u_int16_t ic_txmin; /* min tx retry count */ u_int16_t ic_txmax; /* max tx retry count */ u_int16_t ic_txlifetime; /* tx lifetime */ - int ic_mgt_timer; /* mgmt timeout */ struct callout ic_inact; /* inactivity timer wait */ void *ic_opt_ie; /* user-specified IE's */ u_int16_t ic_opt_ie_len; /* length of ni_opt_ie */ @@ -327,7 +327,6 @@ int ieee80211_ioctl(struct ieee80211com *, u_long, caddr_t); int ieee80211_cfgget(struct ieee80211com *, u_long, caddr_t); int ieee80211_cfgset(struct ieee80211com *, u_long, caddr_t); -void ieee80211_watchdog(struct ieee80211com *); int ieee80211_rate2media(struct ieee80211com *, int, enum ieee80211_phymode); int ieee80211_media2rate(int); From owner-p4-projects@FreeBSD.ORG Mon Aug 1 22:33:40 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6874116A421; Mon, 1 Aug 2005 22:33:40 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1626116A41F for ; Mon, 1 Aug 2005 22:33:40 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C53CD43D46 for ; Mon, 1 Aug 2005 22:33:39 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71MXdMU030919 for ; Mon, 1 Aug 2005 22:33:39 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71MXdSx030916 for perforce@freebsd.org; Mon, 1 Aug 2005 22:33:39 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 22:33:39 GMT Message-Id: <200508012233.j71MXdSx030916@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81316 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 22:33:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=81316 Change 81316 by sam@sam_ebb on 2005/08/01 22:33:00 grab table lock on cleanup to satisfy locking assertion Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#59 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#59 (text+ko) ==== @@ -1772,6 +1772,7 @@ IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, "%s %s table\n", __func__, nt->nt_name); + IEEE80211_NODE_LOCK(nt); ieee80211_free_allnodes_locked(nt); IEEE80211_SCAN_LOCK_DESTROY(nt); IEEE80211_NODE_LOCK_DESTROY(nt); From owner-p4-projects@FreeBSD.ORG Mon Aug 1 22:33:41 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF81516A452; Mon, 1 Aug 2005 22:33:40 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D19C16A430 for ; Mon, 1 Aug 2005 22:33:40 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 447E443D46 for ; Mon, 1 Aug 2005 22:33:40 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j71MXeSq030926 for ; Mon, 1 Aug 2005 22:33:40 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j71MXdTM030922 for perforce@freebsd.org; Mon, 1 Aug 2005 22:33:39 GMT (envelope-from sam@freebsd.org) Date: Mon, 1 Aug 2005 22:33:39 GMT Message-Id: <200508012233.j71MXdTM030922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81317 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2005 22:33:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=81317 Change 81317 by sam@sam_ebb on 2005/08/01 22:33:13 track hal change Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#95 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#95 (text+ko) ==== @@ -2958,7 +2958,7 @@ ds = bf->bf_desc; ds->ds_link = bf->bf_daddr; /* link to self */ ds->ds_data = bf->bf_segs[0].ds_addr; - ds->ds_vdata = mtod(m, u_int32_t);/*XXX*/ + ds->ds_vdata = mtod(m, void *);/*XXX*/ ath_hal_setuprxdesc(ah, ds , m->m_len /* buffer size */ , 0 From owner-p4-projects@FreeBSD.ORG Tue Aug 2 04:11:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3805316A421; Tue, 2 Aug 2005 04:11:28 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E73E916A41F for ; Tue, 2 Aug 2005 04:11:27 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B766B43D46 for ; Tue, 2 Aug 2005 04:11:27 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j724BRsM049628 for ; Tue, 2 Aug 2005 04:11:27 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j724BRO2049625 for perforce@freebsd.org; Tue, 2 Aug 2005 04:11:27 GMT (envelope-from soc-andrew@freebsd.org) Date: Tue, 2 Aug 2005 04:11:27 GMT Message-Id: <200508020411.j724BRO2049625@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81323 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 04:11:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=81323 Change 81323 by soc-andrew@soc-andrew_serv on 2005/08/02 04:11:17 Add /var/run to the install cd to enable the writing of dmesg.boot Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/release/Makefile#13 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/release/Makefile#13 (text+ko) ==== @@ -792,6 +792,7 @@ fi ) @mkdir -p ${RD}/bsdinstaller/root/var/db @mkdir -p ${RD}/bsdinstaller/root/var/empty + @mkdir -p ${RD}/bsdinstaller/root/var/run cp ${.CURDIR}/bsdinstaller/bsdinstaller_shell.sh ${RD}/bsdinstaller/root/ chmod u+x ${RD}/bsdinstaller/root/bsdinstaller_shell.sh cp ${.CURDIR}/bsdinstaller/bsdinstaller ${RD}/bsdinstaller/root/etc/rc.d/ From owner-p4-projects@FreeBSD.ORG Tue Aug 2 05:18:50 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B7E1216A420; Tue, 2 Aug 2005 05:18:49 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E62316A423 for ; Tue, 2 Aug 2005 05:18:49 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 14A4343D45 for ; Tue, 2 Aug 2005 05:18:49 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j725ImNh059063 for ; Tue, 2 Aug 2005 05:18:48 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j725ImIC059060 for perforce@freebsd.org; Tue, 2 Aug 2005 05:18:48 GMT (envelope-from soc-andrew@freebsd.org) Date: Tue, 2 Aug 2005 05:18:48 GMT Message-Id: <200508020518.j725ImIC059060@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81324 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 05:18:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=81324 Change 81324 by soc-andrew@soc-andrew_serv on 2005/08/02 05:17:59 Display moreexit to the shell messages when needed Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#5 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#5 (text+ko) ==== @@ -562,7 +562,7 @@ else if (strcmp(dfui_response_get_action_id(r), "diskutil") == 0) state = state_diskutil_menu; else if (strcmp(dfui_response_get_action_id(r), "livecd") == 0) - state = NULL; + state = state_exit_live_cd; else if (strcmp(dfui_response_get_action_id(r), "reboot") == 0) state = state_reboot; else if (strcmp(dfui_response_get_action_id(r), "cancel") == 0) @@ -925,7 +925,7 @@ } state = state_select_disk; } else if (strcmp(dfui_response_get_action_id(r), "livecd") == 0) { - state = NULL; + state = state_exit_live_cd; } else if (strcmp(dfui_response_get_action_id(r), "cancel") == 0) { state = state_welcome; } From owner-p4-projects@FreeBSD.ORG Tue Aug 2 10:30:16 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B486C16A46D; Tue, 2 Aug 2005 10:30:12 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 32F7716A460 for ; Tue, 2 Aug 2005 10:30:12 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD79743D48 for ; Tue, 2 Aug 2005 10:30:11 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72AUBde078422 for ; Tue, 2 Aug 2005 10:30:11 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72AUBt3078419 for perforce@freebsd.org; Tue, 2 Aug 2005 10:30:11 GMT (envelope-from soc-saturnero@freebsd.org) Date: Tue, 2 Aug 2005 10:30:11 GMT Message-Id: <200508021030.j72AUBt3078419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 10:30:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=81329 Change 81329 by soc-saturnero@soc-saturnero_sberta on 2005/08/02 10:29:17 Added support for unionfs. Actually, this is broken on FreeBSD >5.0. You'll more likely set NO_UNIONFS somewhere. Affected files ... .. //depot/projects/soc2005/freesbie/ToDo#5 edit .. //depot/projects/soc2005/freesbie/conf/make.conf.minimal#2 edit .. //depot/projects/soc2005/freesbie/conf/rc.d/unionfs#1 add .. //depot/projects/soc2005/freesbie/scripts/clonefs.sh#3 edit .. //depot/projects/soc2005/freesbie/scripts/flash.sh#2 edit .. //depot/projects/soc2005/freesbie/scripts/img.sh#4 edit .. //depot/projects/soc2005/freesbie/scripts/installkernel.sh#2 edit Differences ... ==== //depot/projects/soc2005/freesbie/ToDo#5 (text+ko) ==== @@ -1,13 +1,9 @@ -- Write freesbie rcNG script - - eventually write separated files (one for uzip, one for unionfs, ..) +??? - Add a new target (patch?) for - creating loader.conf - creating rc.conf - - copying freesbie rcNG script -- Add FILE_LIST support to clonefs -- Add PRUNE_LIST support to clonefs - Package management - Extra stuff ==== //depot/projects/soc2005/freesbie/conf/make.conf.minimal#2 (text+ko) ==== @@ -1,30 +1,49 @@ -NO_PROFILE=TRUE -NO_KERBEROS=YES -NO_MODULES=YES +NO_ACPI=YES +NO_ATM=YES +NO_AUTHPF=YES +NO_BIND=YES +NO_BIND_DNSSEC=YES +NO_BIND_ETC=YES +NO_BIND_LIBS_LWRES=YES +NO_BIND_MTREE=YES +NO_BIND_NAMED=YES +NO_BIND_UTILS=YES NO_BLUETOOTH=YES NO_CVS=YES NO_CXX=YES +NO_DICT=YES NO_FORTRAN=YES +NO_GAMES=YES +NO_GCOV=YES NO_GDB=YES +NO_GPIB=YES +NO_HESIOD_LIBC=YES +NO_HTML=YES NO_I4B=YES +NO_INET6=YES +NO_INFO=YES NO_IPFILTER=YES -NO_PF=YES -NO_AUTHPF=YES -NO_TOOLCHAIN=YES -NO_ATM=YES +NO_KERBEROS=YES +NO_KLDLOAD=YES +NO_LIBC_R=YES +NO_LIBPTHREAD=YES +NO_LIBTHR=YES NO_LPR=YES -NO_VINUM=YES NO_MAILWRAPPER=YES NO_MAN=YES +NO_MODULES=YES +NO_NETCAT=YES +NO_NETGRAPH=YES +NO_NIS=YES NO_OBJC=YES +NO_P1003_1B=YES +NO_PAM=YES +NO_PF=YES +NO_PROFILE=YES +NO_RESCUE=YES +NO_TOOLCHAIN=YES +NO_USB=YES +NO_VINUM=YES NO_SENDMAIL=YES NO_SHAREDOCS=YES -NO_GAMES=YES -NO_INFO=YES -NO_BIND=YES -NO_BIND_DNSSEC=YES -NO_BIND_ETC=YES -NO_BIND_LIBS_LWRES=YES -NO_BIND_MTREE=YES -NO_BIND_NAMED=YES -NO_BIND_UTILS=YES +PPP_NO_RADIUS=YES ==== //depot/projects/soc2005/freesbie/scripts/clonefs.sh#3 (text+ko) ==== @@ -80,6 +80,7 @@ clone_system() { echo "#### Cloning ${BASEDIR} to ${CLONEDIR} ####" +#varbug means that command is temporarily disabled mkdir -p ${CLONEDIR} if [ -d "${CLONEDIR}" ]; then @@ -89,12 +90,13 @@ if [ -z "${NO_UNIONFS:-}" ]; then # Preparing unionfs environment - mkdir -p ${CLONEDIR}/dist ${CLONEDIR}/mnt/union/{usr,var} + mkdir -p ${CLONEDIR}/dist + mkdir -p ${CLONEDIR}/mnt/union/usr + #${CLONEDIR}/mnt/union/var # Saving directory structure mtree -Pcdp ${BASEDIR}/usr > ${CLONEDIR}/dist/usr.dirs - mtree -Pcdp ${BASEDIR}/var > ${CLONEDIR}/dist/var.dirs - +#varbug mtree -Pcdp ${BASEDIR}/var > ${CLONEDIR}/dist/var.dirs fi if [ -z "${NO_COMPRESSEDFS:-}" ]; then @@ -107,31 +109,65 @@ # When NO_UNIONFS is set, we prefer using a mdmfs var (created # automatically by rc.d scripts if [ -z "${NO_UNIONFS:-}" ]; then - VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var) - DEVICES=${DEVICES} ${VARDEVICE} +#varbug VARDEVICE=$(create_vnode ${CLONEDIR}/uzip/var.ufs var) +#varbug DEVICES="${DEVICES} ${VARDEVICE}" fi trap "umount_md_devices ${DEVICES}; exit 1" INT fi cd ${BASEDIR} - # XXX Add support for FILE_LIST and/or PRUNE_LIST - find . -print -depth | cpio -pvudm ${CLONEDIR} >> ${LOGFILE} 2>&1 + + # If FILE_LIST isn't defined... + if [ -z "${FILE_LIST:-}" ]; then + # then copy the whole filesystem + find . -print -depth | cpio -dump -v ${CLONEDIR} >> ${LOGFILE} 2>&1 + else + # else pass it to cpio + if [ -f ${FILE_LIST} ]; then + echo "Using ${FILE_LIST} as source" | tee -a ${LOGFILE} + cpio -dump -v ${CLONEDIR} < ${FILE_LIST} >> ${LOGFILE} 2>&1 + else + echo "${FILE_LIST} is not a valid path, exiting..." \ + | tee -a ${LOGFILE} + if [ -z "${NO_COMPRESSEDFS:-}" ]; then + umount_md_devices ${DEVICES} + fi + exit 1 + fi + fi + + # If PRUNE_LIST file exists, delete files and dir listed in it + if [ -n "${PRUNE_LIST:-}" ]; then + if [ -f ${PRUNE_LIST} ]; then + echo "Deleting files listed in ${PRUNE_LIST}" | tee -a ${LOGFILE} + (cd ${CLONEDIR} && cat ${PRUNE_LIST} | xargs rm -rvf >> ${LOGFILE} 2>&1) + else + echo "${PRUNE_LIST} isn't a regular file, skipping file deletion" \ + | tee -a ${LOGFILE} + fi + fi if [ -z "${NO_COMPRESSEDFS:-}" ]; then umount_md_devices ${DEVICES} trap "" INT uzip $CLONEDIR/uzip/usr.ufs $CLONEDIR/uzip/usr.uzip if [ -z "${NO_UNIONFS:-}" ]; then - uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip +#var bug uzip $CLONEDIR/uzip/var.ufs $CLONEDIR/uzip/var.uzip fi - #Copy the rc script + # Copy the rc script for uzip files cp ${LOCALDIR}/conf/rc.d/uzip ${CLONEDIR}/etc/rc.d/ chmod 555 ${CLONEDIR}/etc/rc.d/uzip fi + + if [ -z "${NO_UNIONFS:-}" ]; then + # Copy the rc script for unionfs + cp ${LOCALDIR}/conf/rc.d/unionfs ${CLONEDIR}/etc/rc.d/ + chmod 555 ${CLONEDIR}/etc/rc.d/unionfs + fi + } - clone_system cd ${LOCALDIR} ==== //depot/projects/soc2005/freesbie/scripts/flash.sh#2 (text+ko) ==== @@ -45,9 +45,9 @@ echo "Writing files..." cd ${CLONEDIR} -find . -print -depth | cpio -pvudm ${TMPDIR} >> ${LOGFILE} 2>&1 +find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1 echo "/dev/ufs/${LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab umount ${TMPDIR} cd ${LOCALDIR} -rm -rf ${TMPDIR}+rm -rf ${TMPDIR} ==== //depot/projects/soc2005/freesbie/scripts/img.sh#4 (text+ko) ==== @@ -51,7 +51,7 @@ echo "Writing files..." cd ${CLONEDIR} -find . -print -depth | cpio -pvudm ${TMPDIR} >> ${LOGFILE} 2>&1 +find . -print -depth | cpio -dump -v ${TMPDIR} >> ${LOGFILE} 2>&1 echo "/dev/ufs/${LABEL} / ufs ro 1 1" > ${TMPDIR}/etc/fstab umount ${TMPDIR} cd ${LOCALDIR} ==== //depot/projects/soc2005/freesbie/scripts/installkernel.sh#2 (text+ko) ==== @@ -39,4 +39,10 @@ (script -aq $LOGFILE make ${MAKEOPT:-} installkernel __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR} || print_error;) | grep '^>>>' +cd ${BASEDIR}/boot/kernel +if [ "${ARCH}" = "`uname -m`" -a -z "${DEBUG:-}" ]; then + strip kernel +fi +gzip -f9 kernel + cd $LOCALDIR From owner-p4-projects@FreeBSD.ORG Tue Aug 2 11:06:59 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBE8E16A421; Tue, 2 Aug 2005 11:06:58 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7430716A41F for ; Tue, 2 Aug 2005 11:06:58 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0012B43D4C for ; Tue, 2 Aug 2005 11:06:56 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72B6uKs079617 for ; Tue, 2 Aug 2005 11:06:56 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72B6unl079614 for perforce@freebsd.org; Tue, 2 Aug 2005 11:06:56 GMT (envelope-from soc-andrew@freebsd.org) Date: Tue, 2 Aug 2005 11:06:56 GMT Message-Id: <200508021106.j72B6unl079614@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 11:06:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=81330 Change 81330 by soc-andrew@soc-andrew_serv on 2005/08/02 11:06:28 Install the source code when requested to Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/fn_subpart.c#2 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#5 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#6 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/fn_subpart.c#2 (text+ko) ==== @@ -305,7 +305,7 @@ case MTPT_SWAP: return(swap); case MTPT_VAR: return(128); case MTPT_TMP: return(128); - case MTPT_USR: return(512); + case MTPT_USR: return(1024); } } else if (capacity < 10240) { switch (mtpt) { ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#5 (text+ko) ==== @@ -51,20 +51,22 @@ const char *desc; }; +/* XXX Dos't hardcode this info here */ /* The top-level distribution categories */ static struct dist DistTable[] = { - { "base", "Base" }, - { "doc", "Documentation" }, - { "games", "Games" }, - { "manpages", "Manual pages" }, - { "catpages", "Cat Pages" }, - { "proflibs", "Profiling Libraries" }, - { "dict", "Dictionaries" }, - { "info", "Info Pages" }, + { "base", "Base" }, + { "doc", "Documentation" }, + { "games", "Games" }, + { "manpages", "Manual pages" }, + { "catpages", "Cat Pages" }, + { "proflibs", "Profiling Libraries" }, + { "dict", "Dictionaries" }, + { "info", "Info Pages" }, #ifdef __amd64__ - { "lib32", "32bit Libraries" }, + { "lib32", "32bit Libraries" }, #endif - { NULL, NULL } + { "src", "Source" }, + { NULL, NULL } }; void ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#6 (text+ko) ==== @@ -65,6 +65,30 @@ char *mtree_file[] = { "root", "var", "usr", "sendmail", NULL }; char *mtree_dest[] = { "/", "/var", "/usr", "/", NULL }; +static char *SrcDistTable[] = { + "sbase", + "scontrib", + "scrypto", + "sgnu", + "setc", + "sgames", + "sinclude", + "skrb5", + "slib", + "slibexec", + "srelease", + "srescue", + "sbin", + "ssbin", + "ssecure", + "sshare", + "ssys", + "stools", + "subin", + "susbin", + NULL +}; + static int pre_install(struct i_fn_args *); static int do_install(struct i_fn_args *); static int post_install(struct i_fn_args *); @@ -171,6 +195,8 @@ int i; struct commands *cmds; struct utsname name; + int install_src = 0; + uname(&name); snprintf(base, PATH_MAX, "/usr/%s", name.release); @@ -189,12 +215,21 @@ if (rk_len < 32) dist_name[rk_len] = '\0'; - if( dist_extract(a->c, dist_name) != 0) { + if (strncmp("src", dist_name, 4) == 0) { + install_src = 1; + } else if( dist_extract(a->c, dist_name) != 0) { inform(a->c, _("Distribution %s was not installed."), dist_name); return 0; } aura_dict_next(a->dists); } + if (install_src == 1) { + int src_dist = 0; + dist_set_location("/mnt/usr/src"); + for (; SrcDistTable[src_dist] != NULL; src_dist++) { + dist_extract(a->c, SrcDistTable[src_dist]); + } + } i_log(a, ">>> Done"); i_log(a, ""); From owner-p4-projects@FreeBSD.ORG Tue Aug 2 11:30:26 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8007316A421; Tue, 2 Aug 2005 11:30:25 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 55D4416A41F for ; Tue, 2 Aug 2005 11:30:25 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2271C43D49 for ; Tue, 2 Aug 2005 11:30:25 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72BUOnf080845 for ; Tue, 2 Aug 2005 11:30:25 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72BUOxA080842 for perforce@freebsd.org; Tue, 2 Aug 2005 11:30:24 GMT (envelope-from soc-andrew@freebsd.org) Date: Tue, 2 Aug 2005 11:30:24 GMT Message-Id: <200508021130.j72BUOxA080842@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81331 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 11:30:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=81331 Change 81331 by soc-andrew@soc-andrew_serv on 2005/08/02 11:29:57 Comment out the "Setup NetBoot Install Services". It is out of the scope of the project and is untested. Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#6 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/flow.c#6 (text+ko) ==== @@ -254,9 +254,11 @@ dfui_info_new(_("Reboot this Computer"), _("Reboot this computer (e.g. to boot into a newly installed system)"), "")); +/* dfui_form_action_add(f, "configure_netboot", dfui_info_new(_("Setup NetBoot Install Services"), _("Setup machine as remote installation server"), "")); +*/ if (!dfui_be_present(a->c, f, &r)) abort_backend(); @@ -273,8 +275,10 @@ state = state_utilities_menu; } else if (strcmp(dfui_response_get_action_id(r), "exit") == 0) { state = state_exit_live_cd; +/* } else if (strcmp(dfui_response_get_action_id(r), "configure_netboot") == 0) { state = state_setup_remote_installation_server; +*/ } else if (strcmp(dfui_response_get_action_id(r), "reboot") == 0) { state = state_reboot; } @@ -1329,6 +1333,7 @@ * where the installer can setup the machine. * */ +#if 0 void state_setup_remote_installation_server(struct i_fn_args *a) { @@ -1441,6 +1446,7 @@ state = state_welcome; } +#endif /*** MAIN ***/ From owner-p4-projects@FreeBSD.ORG Tue Aug 2 12:17:23 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B072616A421; Tue, 2 Aug 2005 12:17:22 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 81B0816A41F for ; Tue, 2 Aug 2005 12:17:22 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A09643D46 for ; Tue, 2 Aug 2005 12:17:22 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72CHLgC082500 for ; Tue, 2 Aug 2005 12:17:22 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72CHLHD082497 for perforce@freebsd.org; Tue, 2 Aug 2005 12:17:21 GMT (envelope-from soc-bushman@freebsd.org) Date: Tue, 2 Aug 2005 12:17:21 GMT Message-Id: <200508021217.j72CHLHD082497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 81332 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 12:17:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=81332 Change 81332 by soc-bushman@soc-bushman_stinger on 2005/08/02 12:17:20 hashtable (queue.h style) implemented cachelib (via hashtable) with policies implemented (without multipart entries, yet) gt4 work started Affected files ... .. //depot/projects/soc2005/nsswitch_cached/tests/Makefile#3 edit .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/Makefile#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/cachelib.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/cachelib_test.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/hashfuncs.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/hashfuncs.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/hashtable.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/hashtable.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/include/cachelib.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/policies.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/cachelib_test/policies.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/gt4_test/port/Makefile#1 branch .. //depot/projects/soc2005/nsswitch_cached/tests/gt4_test/port/distinfo#1 branch .. //depot/projects/soc2005/nsswitch_cached/tests/gt4_test/port/files/pkg-message.in#1 branch .. //depot/projects/soc2005/nsswitch_cached/tests/gt4_test/port/pkg-descr#1 branch .. //depot/projects/soc2005/nsswitch_cached/tests/hashtable_test/Makefile#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/hashtable_test/hashfuncs.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/hashtable_test/hashfuncs.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/hashtable_test/hashtable.c#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/hashtable_test/hashtable.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/hashtable_test/hashtable_test.c#1 add Differences ... ==== //depot/projects/soc2005/nsswitch_cached/tests/Makefile#3 (text+ko) ==== @@ -1,3 +1,3 @@ -SUBDIR+="common" "common_test" "getservent_test" "getrpcent_test" "getprotoent_test" +SUBDIR+="common" "common_test" "getservent_test" "getrpcent_test" "getprotoent_test" "hashtable_test" "cachelib_test" .include From owner-p4-projects@FreeBSD.ORG Tue Aug 2 13:18:38 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2046116A421; Tue, 2 Aug 2005 13:18:38 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E414716A420 for ; Tue, 2 Aug 2005 13:18:37 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D1D643D49 for ; Tue, 2 Aug 2005 13:18:36 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72DIa02091940 for ; Tue, 2 Aug 2005 13:18:36 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72DIakn091937 for perforce@freebsd.org; Tue, 2 Aug 2005 13:18:36 GMT (envelope-from soc-bushman@freebsd.org) Date: Tue, 2 Aug 2005 13:18:36 GMT Message-Id: <200508021318.j72DIakn091937@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 81333 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 13:18:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=81333 Change 81333 by soc-bushman@soc-bushman_stinger on 2005/08/02 13:18:09 openssh port completely finished. USE_AUTOCONF_VER added, USE_NSSWITCH condition added Affected files ... .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth-rh-rsa.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2-hostbased.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/configure#2 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/key.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth-rh.rsa.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth2-hostbased.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-config.h.in#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure.ac#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-sshconnect.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/batch.patch#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/gss-serv.c.patch#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-pam.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-rh.rsa.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth1.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2-hostbased.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-clientloop.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-config.h.in#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-configure#2 delete .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-configure.ac#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-fake-rfc2553.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-loginrec.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-regress-test-exec.sh#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-session.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshconnect.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd_config#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshpty.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/servconf.c.patch#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/sshd.sh#2 edit .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/sshconnect.c#2 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth-rh-rsa.c#2 (text+ko) ==== @@ -40,13 +40,13 @@ if (!auth_rhosts(pw, cuser)) return 0; -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) host_status = check_key_in_nsswitch(pw, client_host_key, chost); if (host_status == HOST_NEW) host_status = check_key_in_user_hostfile(pw, client_host_key, chost, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); -#else /* HAVE_NSDISPATCH */ +#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_status = check_key_in_hostfiles(pw, client_host_key, chost, _PATH_SSH_SYSTEM_HOSTFILE, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.c#2 (text+ko) ==== @@ -397,7 +397,7 @@ return expand_filename(options.authorized_keys_file2, pw); } -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) /* return ok if key exists in sysfile or userfile */ HostStatus check_key_in_user_hostfile(struct passwd *pw, Key *key, const char *host, @@ -455,7 +455,7 @@ "ok" : "not found", host); return host_status; } -#else /* HAVE_NSDISPATCH */ +#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* return ok if key exists in sysfile or userfile */ HostStatus check_key_in_hostfiles(struct passwd *pw, Key *key, const char *host, @@ -493,7 +493,7 @@ "ok" : "not found", host); return host_status; } -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.h#2 (text+ko) ==== @@ -170,18 +170,18 @@ int secure_filename(FILE *, const char *, struct passwd *, char *, size_t); -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) HostStatus check_key_in_user_hostfile(struct passwd *, Key *, const char *, const char *); HostStatus check_key_in_nsswitch(struct passwd *, Key *, const char *); -#else /* HAVE_NSDISPATCH */ +#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ HostStatus check_key_in_hostfiles(struct passwd *, Key *, const char *, const char *, const char *); -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* hostkey handling */ Key *get_hostkey_by_index(int); ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2-hostbased.c#2 (text+ko) ==== @@ -161,7 +161,7 @@ } debug2("userauth_hostbased: access allowed by auth_rhosts2"); -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) host_status = check_key_in_nsswitch(pw, key, lookup); if (host_status == HOST_NEW) { @@ -174,7 +174,7 @@ options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE2); } -#else /* HAVE_NSDISPATCH */ +#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_status = check_key_in_hostfiles(pw, key, lookup, _PATH_SSH_SYSTEM_HOSTFILE, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); @@ -185,7 +185,7 @@ _PATH_SSH_SYSTEM_HOSTFILE2, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE2); -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ return (host_status == HOST_OK); } ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.c#2 (text+ko) ==== @@ -38,26 +38,26 @@ #include "includes.h" RCSID("$OpenBSD: hostfile.c,v 1.34 2005/03/10 22:01:05 deraadt Exp $"); -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) #include #include #include -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #include #include #include #include "packet.h" -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) #include "pathnames.h" -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #include "match.h" #include "key.h" #include "hostfile.h" #include "log.h" #include "xmalloc.h" -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) #ifndef NSDB_SSH_HOSTKEYS #define NSDB_SSH_HOSTKEYS "ssh_hostkeys" @@ -203,7 +203,7 @@ else return (0); } -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ static int extract_salt(const char *s, u_int l, char *salt, size_t salt_len) ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ char *host_hash(const char *, const char *, u_int); -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) /* * Nsswitch declarations * Here 2 functions are defined. Both are equivalents of the correspondent @@ -41,6 +41,6 @@ void nsswitch_set_system_hostfiles(char *, char *); HostStatus nsswitch_check_host(const char *, const Key *, Key *); int nsswitch_lookup_key_by_type(const char *, int, Key *); -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #endif ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/key.h#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth-rh.rsa.c#2 (text+ko) ==== @@ -4,18 +4,18 @@ if (!auth_rhosts(pw, cuser)) return 0; -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + host_status = check_key_in_nsswitch(pw, client_host_key, chost); + + if (host_status == HOST_NEW) + host_status = check_key_in_user_hostfile(pw, client_host_key, chost, + options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_status = check_key_in_hostfiles(pw, client_host_key, chost, _PATH_SSH_SYSTEM_HOSTFILE, - options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); + options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); -+#endif ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ return (host_status == HOST_OK); } ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ return expand_filename(options.authorized_keys_file2, pw); } -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +/* return ok if key exists in sysfile or userfile */ +HostStatus +check_key_in_user_hostfile(struct passwd *pw, Key *key, const char *host, @@ -80,7 +80,7 @@ + "ok" : "not found", host); + return host_status; +} -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* return ok if key exists in sysfile or userfile */ HostStatus check_key_in_hostfiles(struct passwd *pw, Key *key, const char *host, @@ -88,7 +88,7 @@ "ok" : "not found", host); return host_status; } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.h#2 (text+ko) ==== @@ -4,18 +4,18 @@ int secure_filename(FILE *, const char *, struct passwd *, char *, size_t); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +HostStatus +check_key_in_user_hostfile(struct passwd *, Key *, const char *, + const char *); + +HostStatus +check_key_in_nsswitch(struct passwd *, Key *, const char *); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ HostStatus check_key_in_hostfiles(struct passwd *, Key *, const char *, const char *, const char *); -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* hostkey handling */ Key *get_hostkey_by_index(int); ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth2-hostbased.c#2 (text+ko) ==== @@ -4,7 +4,7 @@ } debug2("userauth_hostbased: access allowed by auth_rhosts2"); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + host_status = check_key_in_nsswitch(pw, key, lookup); + + if (host_status == HOST_NEW) { @@ -17,7 +17,7 @@ + options.ignore_user_known_hosts ? NULL : + _PATH_SSH_USER_HOSTFILE2); + } -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_status = check_key_in_hostfiles(pw, key, lookup, _PATH_SSH_SYSTEM_HOSTFILE, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); @@ -25,7 +25,7 @@ _PATH_SSH_SYSTEM_HOSTFILE2, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE2); -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ return (host_status == HOST_OK); } ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-config.h.in#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure.ac#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.c#2 (text+ko) ==== @@ -4,26 +4,26 @@ #include "includes.h" RCSID("$OpenBSD: hostfile.c,v 1.34 2005/03/10 22:01:05 deraadt Exp $"); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +#include +#include +#include -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #include #include #include #include "packet.h" -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +#include "pathnames.h" -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #include "match.h" #include "key.h" #include "hostfile.h" #include "log.h" #include "xmalloc.h" + -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + +#ifndef NSDB_SSH_HOSTKEYS +#define NSDB_SSH_HOSTKEYS "ssh_hostkeys" @@ -169,7 +169,7 @@ + else + return (0); +} -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ static int extract_salt(const char *s, u_int l, char *salt, size_t salt_len) ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.h#2 (text+ko) ==== @@ -4,7 +4,7 @@ char *host_hash(const char *, const char *, u_int); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +/* + * Nsswitch declarations + * Here 2 functions are defined. Both are equivalents of the correspondent @@ -15,6 +15,6 @@ +void nsswitch_set_system_hostfiles(char *, char *); +HostStatus nsswitch_check_host(const char *, const Key *, Key *); +int nsswitch_lookup_key_by_type(const char *, int, Key *); -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ + #endif ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-sshconnect.c#2 (text+ko) ==== @@ -4,11 +4,11 @@ host_status = check_host_in_hostfile(host_file, host, host_key, file_key, &host_line); if (host_status == HOST_NEW) { -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + host_file = "nsswitch"; + host_line = 0; + host_status = nsswitch_check_host(host, host_key, file_key); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_file = system_hostfile; host_status = check_host_in_hostfile(host_file, host, host_key, file_key, &host_line); @@ -20,11 +20,11 @@ ip_status = check_host_in_hostfile(ip_file, ip, host_key, ip_key, &ip_line); if (ip_status == HOST_NEW) { -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + ip_file = "nsswitch"; + ip_line = 0; + ip_status = nsswitch_check_host(ip, host_key, ip_key); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ ip_file = system_hostfile; ip_status = check_host_in_hostfile(ip_file, ip, host_key, ip_key, &ip_line); @@ -36,7 +36,7 @@ return (ret); } -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +static int +show_key_from_nsswitch(const char *host, int keytype) +{ @@ -58,7 +58,7 @@ + key_free(found); + return (ret); +} -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ + /* print all known host keys for a given host, but skip keys of given type */ static int @@ -68,34 +68,34 @@ if (type[i] == key->type) continue; + -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + if (show_key_from_nsswitch(host, type[i])) { + found = 1; + continue; + } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ if (type[i] != KEY_RSA1 && show_key_from_file(options.user_hostfile2, host, type[i])) { found = 1; continue; } -+#ifndef HAVE_NSDISPATCH ++#if !( defined (HAVE_NSDISPATCH)) || !( defined (USE_NSSWITCH)) if (type[i] != KEY_RSA1 && show_key_from_file(options.system_hostfile2, host, type[i])) { found = 1; continue; } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* !HAVE_NSDISPATCH || !USE_NSSWITCH */ if (show_key_from_file(options.user_hostfile, host, type[i])) { found = 1; continue; } -+#ifndef HAVE_NSDISPATCH ++#if !( defined (HAVE_NSDISPATCH)) || !( defined (USE_NSSWITCH)) if (show_key_from_file(options.system_hostfile, host, type[i])) { found = 1; continue; } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* !HAVE_NSDISPATCH || !USE_NSSWITCH */ debug2("no key of type %d for host %s", type[i], host); } return (found); ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#2 (text+ko) ==== @@ -52,6 +52,9 @@ ETCOLD= ${PREFIX}/etc PORTABLE_SUFFIX= -portable +USE_AUTOCONF_VER= 253 +AUTOCONF_ARGS+= -o configure configure.ac + .if exists(/usr/include/security/pam_modules.h) CONFIGURE_ARGS+= --with-pam .endif ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/batch.patch#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/gss-serv.c.patch#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-pam.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-rh.rsa.c#2 (text+ko) ==== @@ -4,18 +4,18 @@ if (!auth_rhosts(pw, cuser)) return 0; -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + host_status = check_key_in_nsswitch(pw, client_host_key, chost); + + if (host_status == HOST_NEW) + host_status = check_key_in_user_hostfile(pw, client_host_key, chost, + options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_status = check_key_in_hostfiles(pw, client_host_key, chost, _PATH_SSH_SYSTEM_HOSTFILE, - options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); + options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); -+#endif ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ return (host_status == HOST_OK); } ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ return expand_filename(options.authorized_keys_file2, pw); } -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +/* return ok if key exists in sysfile or userfile */ +HostStatus +check_key_in_user_hostfile(struct passwd *pw, Key *key, const char *host, @@ -80,7 +80,7 @@ + "ok" : "not found", host); + return host_status; +} -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* return ok if key exists in sysfile or userfile */ HostStatus check_key_in_hostfiles(struct passwd *pw, Key *key, const char *host, @@ -88,7 +88,7 @@ "ok" : "not found", host); return host_status; } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.h#2 (text+ko) ==== @@ -4,18 +4,18 @@ int secure_filename(FILE *, const char *, struct passwd *, char *, size_t); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +HostStatus +check_key_in_user_hostfile(struct passwd *, Key *, const char *, + const char *); + +HostStatus +check_key_in_nsswitch(struct passwd *, Key *, const char *); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ HostStatus check_key_in_hostfiles(struct passwd *, Key *, const char *, const char *, const char *); -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* hostkey handling */ Key *get_hostkey_by_index(int); ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth1.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2-hostbased.c#2 (text+ko) ==== @@ -4,7 +4,7 @@ } debug2("userauth_hostbased: access allowed by auth_rhosts2"); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + host_status = check_key_in_nsswitch(pw, key, lookup); + + if (host_status == HOST_NEW) { @@ -17,7 +17,7 @@ + options.ignore_user_known_hosts ? NULL : + _PATH_SSH_USER_HOSTFILE2); + } -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_status = check_key_in_hostfiles(pw, key, lookup, _PATH_SSH_SYSTEM_HOSTFILE, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE); @@ -25,7 +25,7 @@ _PATH_SSH_SYSTEM_HOSTFILE2, options.ignore_user_known_hosts ? NULL : _PATH_SSH_USER_HOSTFILE2); -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ return (host_status == HOST_OK); } ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-clientloop.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-config.h.in#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-configure.ac#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-fake-rfc2553.h#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.c#2 (text+ko) ==== @@ -4,26 +4,26 @@ #include "includes.h" RCSID("$OpenBSD: hostfile.c,v 1.34 2005/03/10 22:01:05 deraadt Exp $"); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +#include +#include +#include -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #include #include #include #include "packet.h" -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +#include "pathnames.h" -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ #include "match.h" #include "key.h" #include "hostfile.h" #include "log.h" #include "xmalloc.h" + -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + +#ifndef NSDB_SSH_HOSTKEYS +#define NSDB_SSH_HOSTKEYS "ssh_hostkeys" @@ -169,7 +169,7 @@ + else + return (0); +} -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ static int extract_salt(const char *s, u_int l, char *salt, size_t salt_len) ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.h#2 (text+ko) ==== @@ -4,7 +4,7 @@ char *host_hash(const char *, const char *, u_int); -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +/* + * Nsswitch declarations + * Here 2 functions are defined. Both are equivalents of the correspondent @@ -15,6 +15,6 @@ +void nsswitch_set_system_hostfiles(char *, char *); +HostStatus nsswitch_check_host(const char *, const Key *, Key *); +int nsswitch_lookup_key_by_type(const char *, int, Key *); -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ + #endif ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-loginrec.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-regress-test-exec.sh#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-session.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshconnect.c#2 (text+ko) ==== @@ -4,11 +4,11 @@ host_status = check_host_in_hostfile(host_file, host, host_key, file_key, &host_line); if (host_status == HOST_NEW) { -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + host_file = "nsswitch"; + host_line = 0; + host_status = nsswitch_check_host(host, host_key, file_key); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_file = system_hostfile; host_status = check_host_in_hostfile(host_file, host, host_key, file_key, &host_line); @@ -20,11 +20,11 @@ ip_status = check_host_in_hostfile(ip_file, ip, host_key, ip_key, &ip_line); if (ip_status == HOST_NEW) { -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + ip_file = "nsswitch"; + ip_line = 0; + ip_status = nsswitch_check_host(ip, host_key, ip_key); -+#else /* HAVE_NSDISPATCH */ ++#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ ip_file = system_hostfile; ip_status = check_host_in_hostfile(ip_file, ip, host_key, ip_key, &ip_line); @@ -36,7 +36,7 @@ return (ret); } -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) +static int +show_key_from_nsswitch(const char *host, int keytype) +{ @@ -58,7 +58,7 @@ + key_free(found); + return (ret); +} -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ + /* print all known host keys for a given host, but skip keys of given type */ static int @@ -68,34 +68,34 @@ if (type[i] == key->type) continue; + -+#ifdef HAVE_NSDISPATCH ++#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) + if (show_key_from_nsswitch(host, type[i])) { + found = 1; + continue; + } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ if (type[i] != KEY_RSA1 && show_key_from_file(options.user_hostfile2, host, type[i])) { found = 1; continue; } -+#ifndef HAVE_NSDISPATCH ++#if !( defined (HAVE_NSDISPATCH)) || !( defined (USE_NSSWITCH)) if (type[i] != KEY_RSA1 && show_key_from_file(options.system_hostfile2, host, type[i])) { found = 1; continue; } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* !HAVE_NSDISPATCH || !USE_NSSWITCH */ if (show_key_from_file(options.user_hostfile, host, type[i])) { found = 1; continue; } -+#ifndef HAVE_NSDISPATCH ++#if !( defined (HAVE_NSDISPATCH)) || !( defined (USE_NSSWITCH)) if (show_key_from_file(options.system_hostfile, host, type[i])) { found = 1; continue; } -+#endif /* HAVE_NSDISPATCH */ ++#endif /* !HAVE_NSDISPATCH || !USE_NSSWITCH */ debug2("no key of type %d for host %s", type[i], host); } return (found); ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd_config#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshpty.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/servconf.c.patch#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/sshd.sh#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/sshconnect.c#2 (text+ko) ==== @@ -637,11 +637,11 @@ host_status = check_host_in_hostfile(host_file, host, host_key, file_key, &host_line); if (host_status == HOST_NEW) { -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) host_file = "nsswitch"; host_line = 0; host_status = nsswitch_check_host(host, host_key, file_key); -#else /* HAVE_NSDISPATCH */ +#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ host_file = system_hostfile; host_status = check_host_in_hostfile(host_file, host, host_key, file_key, &host_line); @@ -658,11 +658,11 @@ ip_status = check_host_in_hostfile(ip_file, ip, host_key, ip_key, &ip_line); if (ip_status == HOST_NEW) { -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) ip_file = "nsswitch"; ip_line = 0; ip_status = nsswitch_check_host(ip, host_key, ip_key); -#else /* HAVE_NSDISPATCH */ +#else /* HAVE_NSDISPATCH && USE_NSSWITCH */ ip_file = system_hostfile; ip_status = check_host_in_hostfile(ip_file, ip, host_key, ip_key, &ip_line); @@ -1020,7 +1020,7 @@ return (ret); } -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) static int show_key_from_nsswitch(const char *host, int keytype) { @@ -1042,7 +1042,7 @@ key_free(found); return (ret); } -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ /* print all known host keys for a given host, but skip keys of given type */ static int @@ -1055,34 +1055,34 @@ if (type[i] == key->type) continue; -#ifdef HAVE_NSDISPATCH +#if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH) if (show_key_from_nsswitch(host, type[i])) { found = 1; continue; } -#endif /* HAVE_NSDISPATCH */ +#endif /* HAVE_NSDISPATCH && USE_NSSWITCH */ if (type[i] != KEY_RSA1 && show_key_from_file(options.user_hostfile2, host, type[i])) { found = 1; continue; } -#ifndef HAVE_NSDISPATCH +#if !( defined (HAVE_NSDISPATCH)) || !( defined (USE_NSSWITCH)) if (type[i] != KEY_RSA1 && show_key_from_file(options.system_hostfile2, host, type[i])) { found = 1; continue; } -#endif /* HAVE_NSDISPATCH */ +#endif /* !HAVE_NSDISPATCH || !USE_NSSWITCH */ if (show_key_from_file(options.user_hostfile, host, type[i])) { found = 1; continue; } -#ifndef HAVE_NSDISPATCH +#if !( defined (HAVE_NSDISPATCH)) || !( defined (USE_NSSWITCH)) if (show_key_from_file(options.system_hostfile, host, type[i])) { found = 1; continue; } -#endif /* HAVE_NSDISPATCH */ +#endif /* !HAVE_NSDISPATCH || !USE_NSSWITCH */ debug2("no key of type %d for host %s", type[i], host); } return (found); From owner-p4-projects@FreeBSD.ORG Tue Aug 2 13:20:40 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B41DB16A421; Tue, 2 Aug 2005 13:20:39 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8DA4F16A41F for ; Tue, 2 Aug 2005 13:20:39 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47F4643D46 for ; Tue, 2 Aug 2005 13:20:39 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72DKdIf092063 for ; Tue, 2 Aug 2005 13:20:39 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72DKcsr092059 for perforce@freebsd.org; Tue, 2 Aug 2005 13:20:38 GMT (envelope-from soc-bushman@freebsd.org) Date: Tue, 2 Aug 2005 13:20:38 GMT Message-Id: <200508021320.j72DKcsr092059@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 81334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 13:20:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=81334 Change 81334 by soc-bushman@soc-bushman_stinger on 2005/08/02 13:19:50 USE_NSSWITCH is defined by default Affected files ... .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#3 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#3 (text+ko) ==== @@ -52,6 +52,8 @@ ETCOLD= ${PREFIX}/etc PORTABLE_SUFFIX= -portable +USE_NSSWITCH= yes + USE_AUTOCONF_VER= 253 AUTOCONF_ARGS+= -o configure configure.ac From owner-p4-projects@FreeBSD.ORG Tue Aug 2 15:59:52 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4471816A424; Tue, 2 Aug 2005 15:59:52 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F0DE316A43E for ; Tue, 2 Aug 2005 15:59:51 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA05943D45 for ; Tue, 2 Aug 2005 15:59:51 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72Fxpr3097546 for ; Tue, 2 Aug 2005 15:59:51 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72FxpQV097543 for perforce@freebsd.org; Tue, 2 Aug 2005 15:59:51 GMT (envelope-from sam@freebsd.org) Date: Tue, 2 Aug 2005 15:59:51 GMT Message-Id: <200508021559.j72FxpQV097543@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81337 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 15:59:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=81337 Change 81337 by sam@sam_ebb on 2005/08/02 15:59:36 clean ff buffers returned to sc_txbuf so they don't get reclaimed again when the module is unloaded Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#96 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#96 (text+ko) ==== @@ -1139,13 +1139,15 @@ bad: if (ni != NULL) ieee80211_free_node(ni); - if (bf->bf_m != NULL) + bf->bf_node = NULL; + if (bf->bf_m != NULL) { m_freem(bf->bf_m); - if (bf != NULL) { - ATH_TXBUF_LOCK(sc); - STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - ATH_TXBUF_UNLOCK(sc); - } + bf->bf_m = NULL; + } + + ATH_TXBUF_LOCK(sc); + STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); + ATH_TXBUF_UNLOCK(sc); } } @@ -1272,11 +1274,13 @@ m->m_nextpkt = NULL; bfstaged->bf_m->m_nextpkt = m; m = bfstaged->bf_m; + bfstaged->bf_m = NULL; m->m_flags |= M_FF; /* * Release the node reference held while * the packet sat on an_ff_buf[] */ + bfstaged->bf_node = NULL; ieee80211_free_node(ni); /* @@ -1349,14 +1353,15 @@ */ if (ni != NULL) ieee80211_free_node(ni); - if (bfstaged->bf_m != NULL) + bfstaged->bf_node = NULL; + if (bfstaged->bf_m != NULL) { m_freem(bfstaged->bf_m); - if (bfstaged != NULL) { - ATH_TXBUF_LOCK(sc); - STAILQ_INSERT_TAIL(&sc->sc_txbuf, - bfstaged, bf_list); - ATH_TXBUF_UNLOCK(sc); + bfstaged->bf_m = NULL; } + + ATH_TXBUF_LOCK(sc); + STAILQ_INSERT_TAIL(&sc->sc_txbuf, bfstaged, bf_list); + ATH_TXBUF_UNLOCK(sc); } else { #if 0 ifp->if_opackets++; @@ -1392,6 +1397,7 @@ ATH_TXBUF_LOCK_ASSERT(sc); STAILQ_FOREACH_SAFE(bf, frags, bf_list, next) { + /* NB: bf assumed clean */ STAILQ_REMOVE_HEAD(frags, bf_list); STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); ieee80211_node_decref(ni); @@ -1605,6 +1611,8 @@ bad: ifp->if_oerrors++; reclaim: + bf->bf_m = NULL; + bf->bf_node = NULL; ATH_TXBUF_LOCK(sc); STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); ath_txfrag_cleanup(sc, &frags, ni); @@ -4380,6 +4388,7 @@ } m_freem(bf->bf_m); bf->bf_m = NULL; + ATH_TXBUF_LOCK(sc); STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); ATH_TXBUF_UNLOCK(sc); From owner-p4-projects@FreeBSD.ORG Tue Aug 2 16:45:50 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B975E16A423; Tue, 2 Aug 2005 16:45:49 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5BDA716A41F for ; Tue, 2 Aug 2005 16:45:49 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1629E43D4C for ; Tue, 2 Aug 2005 16:45:48 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72Gjm10099351 for ; Tue, 2 Aug 2005 16:45:48 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72Gjl2K099348 for perforce@freebsd.org; Tue, 2 Aug 2005 16:45:47 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 2 Aug 2005 16:45:47 GMT Message-Id: <200508021645.j72Gjl2K099348@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 16:45:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=81339 Change 81339 by rwatson@rwatson_zoo on 2005/08/02 16:45:19 Integrate netsmp branch: - System V IPC module dependencies. - GELI - if_gem locking, if_de locking - if_ixgb, if_em setup/teardown fixes - much sound driver locking and fixage - malloc(9), uma(9) statistics fixes - Don't mtx_assert when dumping - ule and threading fix - m_align - bpfstat - IPv6 scope fixage - bluetooth socket locking improvements Affected files ... .. //depot/projects/netsmp/src/sys/alpha/linux/linux_sysvec.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/netsmp/src/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/netsmp/src/sys/arm/include/atomic.h#2 integrate .. //depot/projects/netsmp/src/sys/arm/include/clock.h#2 integrate .. //depot/projects/netsmp/src/sys/arm/include/endian.h#2 integrate .. //depot/projects/netsmp/src/sys/boot/common/console.c#2 integrate .. //depot/projects/netsmp/src/sys/boot/common/help.common#2 integrate .. //depot/projects/netsmp/src/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/netsmp/src/sys/boot/i386/libi386/smbios.c#2 integrate .. //depot/projects/netsmp/src/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/netsmp/src/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/netsmp/src/sys/conf/NOTES#2 integrate .. //depot/projects/netsmp/src/sys/conf/files#3 integrate .. //depot/projects/netsmp/src/sys/conf/options#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_battery.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/amr/amr.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/an/if_an.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/r300_cmdbuf.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/em/if_em.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ep/if_ep.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ep/if_epreg.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/gem/if_gem.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ichsmb/ichsmb.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ichsmb/ichsmb_pci.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/isp/isp_freebsd.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ixgb/if_ixgb.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/mlx/mlx_pci.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/nve/if_nve.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/owi/if_owi.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/owi/if_owi_pccard.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/es137x.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/fake.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/feeder_fmt.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/sound.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/netsmp/src/sys/fs/devfs/devfs_vfsops.c#2 integrate .. //depot/projects/netsmp/src/sys/geom/eli/g_eli.c#1 branch .. //depot/projects/netsmp/src/sys/geom/eli/g_eli.h#1 branch .. //depot/projects/netsmp/src/sys/geom/eli/g_eli_crypto.c#1 branch .. //depot/projects/netsmp/src/sys/geom/eli/g_eli_ctl.c#1 branch .. //depot/projects/netsmp/src/sys/geom/eli/g_eli_key.c#1 branch .. //depot/projects/netsmp/src/sys/geom/eli/pkcs5v2.c#1 branch .. //depot/projects/netsmp/src/sys/geom/eli/pkcs5v2.h#1 branch .. //depot/projects/netsmp/src/sys/geom/geom_io.c#2 integrate .. //depot/projects/netsmp/src/sys/geom/raid3/g_raid3.c#2 integrate .. //depot/projects/netsmp/src/sys/geom/raid3/g_raid3.h#2 integrate .. //depot/projects/netsmp/src/sys/geom/zero/g_zero.c#1 branch .. //depot/projects/netsmp/src/sys/i386/conf/PAE#2 integrate .. //depot/projects/netsmp/src/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/netsmp/src/sys/isa/isa_common.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_environment.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_pmc.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/sched_ule.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/subr_hints.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/subr_mchain.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/uipc_mbuf.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/netsmp/src/sys/modules/geom/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/modules/geom/geom_eli/Makefile#1 branch .. //depot/projects/netsmp/src/sys/modules/geom/geom_zero/Makefile#1 branch .. //depot/projects/netsmp/src/sys/net/bpf.c#2 integrate .. //depot/projects/netsmp/src/sys/net/bpfdesc.h#2 integrate .. //depot/projects/netsmp/src/sys/net/if_bridge.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_gif.c#2 integrate .. //depot/projects/netsmp/src/sys/net/if_gre.c#2 integrate .. //depot/projects/netsmp/src/sys/net/if_spppsubr.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#4 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/netsmp/src/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/icmp6.h#3 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_gre.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ah_aesxcbcmac.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ah_core.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/icmp6.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6.h#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_cksum.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_pcb.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_proto.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_src.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_var.h#5 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_forward.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_input.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_mroute.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/ipsec.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/mld6.c#4 integrate .. //depot/projects/netsmp/src/sys/netinet6/nd6.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/route6.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/scope6.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/scope6_var.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/udp6_output.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/netsmp/src/sys/netkey/key.c#2 integrate .. //depot/projects/netsmp/src/sys/netncp/ncp_rq.c#2 integrate .. //depot/projects/netsmp/src/sys/netsmb/smb_subr.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_socket.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_de.c#4 integrate .. //depot/projects/netsmp/src/sys/pci/if_devar.h#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_sis.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_xl.c#3 integrate .. //depot/projects/netsmp/src/sys/powerpc/powerpc/machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/netsmp/src/sys/powerpc/powerpc/trap_subr.S#2 integrate .. //depot/projects/netsmp/src/sys/security/mac_bsdextended/mac_bsdextended.c#2 integrate .. //depot/projects/netsmp/src/sys/sparc64/include/cpufunc.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/mbuf.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/mchain.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/pmckern.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/soundcard.h#2 integrate .. //depot/projects/netsmp/src/sys/ufs/ffs/ffs_softdep.c#2 integrate .. //depot/projects/netsmp/src/sys/ufs/ffs/softdep.h#2 integrate .. //depot/projects/netsmp/src/sys/vm/uma.h#2 integrate .. //depot/projects/netsmp/src/sys/vm/uma_core.c#3 integrate Differences ... ==== //depot/projects/netsmp/src/sys/alpha/linux/linux_sysvec.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/linux/linux_sysvec.c,v 1.94 2005/01/29 23:11:57 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/linux/linux_sysvec.c,v 1.95 2005/07/29 19:40:38 jhb Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -66,10 +66,6 @@ #undef szsigcode MODULE_VERSION(linux, 1); -MODULE_DEPEND(linux, osf1, 1, 1, 1); -MODULE_DEPEND(linux, sysvmsg, 1, 1, 1); -MODULE_DEPEND(linux, sysvsem, 1, 1, 1); -MODULE_DEPEND(linux, sysvshm, 1, 1, 1); MALLOC_DEFINE(M_LINUX, "linux", "Linux mode structures"); @@ -288,4 +284,5 @@ DUMMY(rt_sigreturn); +MODULE_DEPEND(linux, osf1, 1, 1, 1); DECLARE_MODULE(linuxelf, linux_elf_mod, SI_SUB_EXEC, SI_ORDER_ANY); ==== //depot/projects/netsmp/src/sys/amd64/conf/GENERIC#2 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.440 2005/07/14 15:39:04 kensmith Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.441 2005/07/24 17:55:57 mux Exp $ machine amd64 cpu HAMMER @@ -215,8 +215,7 @@ # ISA Ethernet NICs. pccard NICs included. device cs # Crystal Semiconductor CS89x0 NIC # 'device ed' requires 'device miibus' -# XXX kvtop brokenness, pointer/int warnings -#device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards +device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards ==== //depot/projects/netsmp/src/sys/amd64/linux32/linux32_sysvec.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.7 2005/03/23 08:27:58 das Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.8 2005/07/29 19:40:38 jhb Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -84,9 +84,6 @@ #include MODULE_VERSION(linux, 1); -MODULE_DEPEND(linux, sysvmsg, 1, 1, 1); -MODULE_DEPEND(linux, sysvsem, 1, 1, 1); -MODULE_DEPEND(linux, sysvshm, 1, 1, 1); MALLOC_DEFINE(M_LINUX, "linux", "Linux mode structures"); ==== //depot/projects/netsmp/src/sys/arm/include/atomic.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/atomic.h,v 1.9 2005/07/15 18:17:57 jhb Exp $ + * $FreeBSD: src/sys/arm/include/atomic.h,v 1.10 2005/07/27 20:01:44 jhb Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -77,8 +77,10 @@ static __inline uint32_t __swp(uint32_t val, volatile uint32_t *ptr) { - __asm __volatile("swp %0, %1, [%2]" - : "=&r" (val) : "r" (val) , "r" (ptr) : "memory"); + __asm __volatile("swp %0, %2, [%3]" + : "=&r" (val), "=m" (*ptr) + : "r" (val) , "r" (ptr), "m" (*ptr) + : "memory"); return (val); } ==== //depot/projects/netsmp/src/sys/arm/include/clock.h#2 (text+ko) ==== @@ -23,10 +23,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/clock.h,v 1.1 2004/05/14 11:46:44 cognet Exp $ + * $FreeBSD: src/sys/arm/include/clock.h,v 1.2 2005/07/27 21:19:28 imp Exp $ */ #ifndef _MACHINE_CLOCK_H_ #define _MACHINE_CLOCK_H_ +#define wall_cmos_clock 0 +#define adjkerntz 0 + #endif /* !_MACHINE_CLOCK_H_ */ ==== //depot/projects/netsmp/src/sys/arm/include/endian.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $ - * $FreeBSD: src/sys/arm/include/endian.h,v 1.9 2005/05/24 21:43:16 cognet Exp $ + * $FreeBSD: src/sys/arm/include/endian.h,v 1.10 2005/07/27 19:59:21 jhb Exp $ */ #ifndef _ENDIAN_H_ @@ -100,11 +100,10 @@ __bswap16_var(__uint16_t v) { __asm __volatile( - "mov %0, %1, ror #8\n" + "mov %0, %0, ror #8\n" "orr %0, %0, %0, lsr #16\n" "bic %0, %0, %0, lsl #16" - : "=r" (v) - : "0" (v)); + : "+r" (v)); return (v); } ==== //depot/projects/netsmp/src/sys/boot/common/console.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/console.c,v 1.7 2005/05/27 19:30:59 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/console.c,v 1.8 2005/07/29 12:47:42 brian Exp $"); #include #include @@ -217,7 +217,7 @@ if (*curpos == '\0') continue; cons = cons_find(curpos); - if (cons > 0) { + if (cons >= 0) { consoles[cons]->c_flags |= C_ACTIVEIN | C_ACTIVEOUT; consoles[cons]->c_init(0); } ==== //depot/projects/netsmp/src/sys/boot/common/help.common#2 (text+ko) ==== @@ -223,7 +223,7 @@ set currdev= - Selects the default device. Syntax for devices is odd. + Selects the default device. See lsdev for available devices. ################################################################################ # Tset Sinit_path DSet the list of init candidates ==== //depot/projects/netsmp/src/sys/boot/forth/loader.conf#2 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.95 2005/05/19 23:03:02 sobomax Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.96 2005/07/29 12:41:37 brian Exp $ ############################################################## ### Basic configuration options ############################ @@ -47,7 +47,7 @@ # allowed to interrupt autoboot process and # escape to the loader prompt #beastie_disable="NO" # Turn the beastie boot menu on and off -#console="vidconsole" # Set the current console +#console="vidconsole" # A comma separated list of console(s) #currdev="disk1s1a" # Set the current device module_path="/boot/modules" # Set the module search path #prompt="\\${interpret}" # Set the command prompt @@ -59,16 +59,18 @@ ### Kernel settings ######################################## ############################################################## - # The following boot_ variables are enabled - # by setting them to any value. -#boot_askname="" # Prompt the user for the name of the root device -#boot_cdrom="" # Attempt to mount root file system from CD-ROM -#boot_ddb="" # Instructs the kernel to start in the DDB debugger -#boot_gdb="" # Selects gdb-remote mode for the kernel debugger -#boot_multicons="" # Use multiple consoles -#boot_serial="" # Use serial console -#boot_single="" # Start system in single-user mode -#boot_verbose="" # Causes extra debugging information to be printed +# The following boot_ variables are enabled by setting them to any value. +# Their presence in the kernel environment (see kenv(1)) has the same +# effect as setting the given boot flag (see boot(8)). + +#boot_askname="" # -a: Prompt the user for the name of the root device +#boot_cdrom="" # -C: Attempt to mount root file system from CD-ROM +#boot_ddb="" # -d: Instructs the kernel to start in the DDB debugger +#boot_gdb="" # -g: Selects gdb-remote mode for the kernel debugger +#boot_multicons="" # -D: Use multiple consoles +#boot_serial="" # -h: Use serial console +#boot_single="" # -s: Start system in single-user mode +#boot_verbose="" # -v: Causes extra debugging information to be printed #init_path="/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall" # Sets the list of init candidates ==== //depot/projects/netsmp/src/sys/boot/i386/libi386/smbios.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/smbios.c,v 1.1 2005/07/14 19:52:22 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/smbios.c,v 1.2 2005/07/27 19:11:10 jkim Exp $"); #include #include @@ -72,9 +72,6 @@ if (smbios == NULL) return; - /* export values from the SMBIOS */ - setenv("hint.smbios.0.enabled", "YES", 1); - length = *(u_int16_t *)(smbios + 0x16); /* Structure Table Length */ paddr = *(u_int32_t *)(smbios + 0x18); /* Structure Table Address */ count = *(u_int16_t *)(smbios + 0x1c); /* No of SMBIOS Structures */ @@ -91,26 +88,26 @@ switch(dmi[0]) { case 0: /* Type 0: BIOS */ - smbios_setenv("hint.smbios.0.bios.vendor", dmi, 0x04); - smbios_setenv("hint.smbios.0.bios.version", dmi, 0x05); - smbios_setenv("hint.smbios.0.bios.reldate", dmi, 0x08); + smbios_setenv("smbios.bios.vendor", dmi, 0x04); + smbios_setenv("smbios.bios.version", dmi, 0x05); + smbios_setenv("smbios.bios.reldate", dmi, 0x08); break; case 1: /* Type 1: System */ - smbios_setenv("hint.smbios.0.system.maker", dmi, 0x04); - smbios_setenv("hint.smbios.0.system.product", dmi, 0x05); - smbios_setenv("hint.smbios.0.system.version", dmi, 0x06); + smbios_setenv("smbios.system.maker", dmi, 0x04); + smbios_setenv("smbios.system.product", dmi, 0x05); + smbios_setenv("smbios.system.version", dmi, 0x06); break; case 2: /* Type 2: Base Board (or Module) */ - smbios_setenv("hint.smbios.0.planar.maker", dmi, 0x04); - smbios_setenv("hint.smbios.0.planar.product", dmi, 0x05); - smbios_setenv("hint.smbios.0.planar.version", dmi, 0x06); + smbios_setenv("smbios.planar.maker", dmi, 0x04); + smbios_setenv("smbios.planar.product", dmi, 0x05); + smbios_setenv("smbios.planar.version", dmi, 0x06); break; case 3: /* Type 3: System Enclosure or Chassis */ - smbios_setenv("hint.smbios.0.chassis.maker", dmi, 0x04); - smbios_setenv("hint.smbios.0.chassis.version", dmi, 0x06); + smbios_setenv("smbios.chassis.maker", dmi, 0x04); + smbios_setenv("smbios.chassis.version", dmi, 0x06); break; default: /* skip other types */ ==== //depot/projects/netsmp/src/sys/compat/linux/linux_ipc.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.43 2005/02/11 13:46:55 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.44 2005/07/29 19:40:39 jhb Exp $"); #include #include @@ -815,3 +815,7 @@ return EINVAL; } } + +MODULE_DEPEND(linux, sysvmsg, 1, 1, 1); +MODULE_DEPEND(linux, sysvsem, 1, 1, 1); +MODULE_DEPEND(linux, sysvshm, 1, 1, 1); ==== //depot/projects/netsmp/src/sys/compat/svr4/svr4_ipc.c#2 (text+ko) ==== @@ -71,7 +71,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ipc.c,v 1.16 2005/07/07 19:25:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ipc.c,v 1.17 2005/07/29 19:41:04 jhb Exp $"); #include "opt_sysvipc.h" @@ -385,6 +385,8 @@ return EINVAL; } } + +MODULE_DEPEND(svr4elf, sysvsem, 1, 1, 1); #endif #ifdef SYSVMSG @@ -579,6 +581,8 @@ return EINVAL; } } + +MODULE_DEPEND(svr4elf, sysvmsg, 1, 1, 1); #endif #ifdef SYSVSHM @@ -788,4 +792,6 @@ return ENOSYS; } } + +MODULE_DEPEND(svr4elf, sysvshm, 1, 1, 1); #endif /* SYSVSHM */ ==== //depot/projects/netsmp/src/sys/conf/NOTES#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1326 2005/07/14 15:57:00 takawata Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1328 2005/07/27 21:47:55 pjd Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -131,6 +131,7 @@ options GEOM_BDE # Disk encryption. options GEOM_BSD # BSD disklabels options GEOM_CONCAT # Disk concatenation. +options GEOM_ELI # Disk encryption. options GEOM_FOX # Redundant path mitigation options GEOM_GATE # Userland services. options GEOM_GPT # GPT partitioning @@ -145,6 +146,7 @@ options GEOM_SUNLABEL # Sun/Solaris partitioning options GEOM_UZIP # Read-only compressed disks options GEOM_VOL # Volume names from UFS superblock +options GEOM_ZERO # Peformance testing helper. # # The root device and filesystem type can be compiled in; ==== //depot/projects/netsmp/src/sys/conf/files#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1036 2005/07/20 21:10:56 anholt Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1038 2005/07/27 21:47:55 pjd Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1028,6 +1028,11 @@ geom/bde/g_bde_lock.c optional geom_bde geom/bde/g_bde_work.c optional geom_bde geom/concat/g_concat.c optional geom_concat +geom/eli/g_eli.c optional geom_eli +geom/eli/g_eli_crypto.c optional geom_eli +geom/eli/g_eli_ctl.c optional geom_eli +geom/eli/g_eli_key.c optional geom_eli +geom/eli/pkcs5v2.c optional geom_eli geom/gate/g_gate.c optional geom_gate geom/geom_aes.c optional geom_aes geom/geom_apple.c optional geom_apple @@ -1066,6 +1071,7 @@ geom/shsec/g_shsec.c optional geom_shsec geom/stripe/g_stripe.c optional geom_stripe geom/uzip/g_uzip.c optional geom_uzip +geom/zero/g_zero.c optional geom_zero gnu/fs/ext2fs/ext2_alloc.c optional ext2fs \ warning "kernel contains GPL contaminated ext2fs filesystem" gnu/fs/ext2fs/ext2_balloc.c optional ext2fs ==== //depot/projects/netsmp/src/sys/conf/options#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.511 2005/07/15 05:12:49 takawata Exp $ +# $FreeBSD: src/sys/conf/options,v 1.513 2005/07/27 21:47:55 pjd Exp $ # # On the handling of kernel options # @@ -76,6 +76,7 @@ GEOM_BDE opt_geom.h GEOM_BSD opt_geom.h GEOM_CONCAT opt_geom.h +GEOM_ELI opt_geom.h GEOM_FOX opt_geom.h GEOM_GATE opt_geom.h GEOM_GPT opt_geom.h @@ -90,6 +91,7 @@ GEOM_SUNLABEL opt_geom.h GEOM_UZIP opt_geom.h GEOM_VOL opt_geom.h +GEOM_ZERO opt_geom.h KSTACK_MAX_PAGES KSTACK_PAGES KTRACE ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_battery.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_battery.c,v 1.13 2005/07/23 19:35:59 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_battery.c,v 1.16 2005/07/28 19:34:51 njl Exp $"); #include "opt_acpi.h" #include @@ -143,9 +143,9 @@ * Allocate storage for all _BST data, their derived battinfo data, * and the current battery's _BIF data. */ - bst = malloc(devcount * sizeof(*bst), M_TEMP, M_WAITOK); - bi = malloc(devcount * sizeof(*bi), M_TEMP, M_WAITOK); - bif = malloc(sizeof(*bif), M_TEMP, M_WAITOK); + bst = malloc(devcount * sizeof(*bst), M_TEMP, M_WAITOK | M_ZERO); + bi = malloc(devcount * sizeof(*bi), M_TEMP, M_WAITOK | M_ZERO); + bif = malloc(sizeof(*bif), M_TEMP, M_WAITOK | M_ZERO); /* * Pass 1: for each battery that is present and valid, get its status, @@ -244,6 +244,13 @@ battinfo->state = bi[dev_idx].state; battinfo->rate = bst[dev_idx].rate; } + + /* + * If the queried battery has no discharge rate or is charging, + * report that we don't know the remaining time. + */ + if (valid_rate == 0 || (battinfo->state & ACPI_BATT_STAT_CHARGING)) + battinfo->min = -1; } else acpi_reset_battinfo(battinfo); @@ -364,27 +371,31 @@ sysctl_ctx_init(&acpi_battery_sysctl_ctx); acpi_battery_sysctl_tree = SYSCTL_ADD_NODE(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree), OID_AUTO, "battery", CTLFLAG_RD, - 0, ""); + 0, "battery status and info"); SYSCTL_ADD_PROC(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(acpi_battery_sysctl_tree), OID_AUTO, "life", CTLTYPE_INT | CTLFLAG_RD, - &acpi_battery_battinfo.cap, 0, acpi_battery_sysctl, "I", ""); + &acpi_battery_battinfo.cap, 0, acpi_battery_sysctl, "I", + "percent capacity remaining"); SYSCTL_ADD_PROC(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(acpi_battery_sysctl_tree), OID_AUTO, "time", CTLTYPE_INT | CTLFLAG_RD, - &acpi_battery_battinfo.min, 0, acpi_battery_sysctl, "I", ""); + &acpi_battery_battinfo.min, 0, acpi_battery_sysctl, "I", + "remaining time in minutes"); SYSCTL_ADD_PROC(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(acpi_battery_sysctl_tree), OID_AUTO, "state", CTLTYPE_INT | CTLFLAG_RD, - &acpi_battery_battinfo.state, 0, acpi_battery_sysctl, "I", ""); + &acpi_battery_battinfo.state, 0, acpi_battery_sysctl, "I", + "current status flags"); SYSCTL_ADD_PROC(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(acpi_battery_sysctl_tree), OID_AUTO, "units", CTLTYPE_INT | CTLFLAG_RD, - NULL, 0, acpi_battery_units_sysctl, "I", ""); + NULL, 0, acpi_battery_units_sysctl, "I", "number of batteries"); SYSCTL_ADD_INT(&acpi_battery_sysctl_ctx, SYSCTL_CHILDREN(acpi_battery_sysctl_tree), OID_AUTO, "info_expire", CTLFLAG_RD | CTLFLAG_RW, - &acpi_battery_info_expire, 0, ""); + &acpi_battery_info_expire, 0, + "time in seconds until info is refreshed"); acpi_batteries_initted = TRUE; ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_pci_link.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.44 2005/01/18 20:18:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.45 2005/07/27 15:21:32 jhb Exp $"); #include "opt_acpi.h" #include @@ -955,8 +955,8 @@ } } - if (bootverbose) { - if (PCI_INTERRUPT_VALID(best_irq)) + if (PCI_INTERRUPT_VALID(best_irq)) { + if (bootverbose) device_printf(dev, "Picked IRQ %u with weight %d\n", best_irq, best_weight); } else ==== //depot/projects/netsmp/src/sys/dev/amr/amr.c#2 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.65 2005/06/23 00:21:25 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.67 2005/07/29 01:53:45 ps Exp $"); /* * Driver for the AMI MegaRaid family of controllers. @@ -878,13 +878,13 @@ static void amr_completeio(struct amr_command *ac) { - struct amr_softc *sc = ac->ac_sc; + struct amrd_softc *sc = ac->ac_bio->bio_disk->d_drv1; if (ac->ac_status != AMR_STATUS_SUCCESS) { /* could be more verbose here? */ ac->ac_bio->bio_error = EIO; ac->ac_bio->bio_flags |= BIO_ERROR; - device_printf(sc->amr_dev, "I/O error - 0x%x\n", ac->ac_status); + device_printf(sc->amrd_dev, "I/O error - 0x%x\n", ac->ac_status); /* amr_printcommand(ac);*/ } amrd_intr(ac->ac_bio); @@ -962,7 +962,7 @@ static int amr_wait_command(struct amr_command *ac) { - int error, count; + int error = 0; debug_called(1); @@ -971,12 +971,10 @@ if ((error = amr_start(ac)) != 0) return(error); - count = 0; - /* XXX better timeout? */ - while ((ac->ac_flags & AMR_CMD_BUSY) && (count < 30)) { - msleep(ac, &ac->ac_sc->amr_io_lock, PRIBIO | PCATCH, "amrwcmd", hz); + while ((ac->ac_flags & AMR_CMD_BUSY) && (error != EWOULDBLOCK)) { + error = msleep(ac, &ac->ac_sc->amr_io_lock, PRIBIO, "amrwcmd", 0); } - return(0); + return(error); } /******************************************************************************** ==== //depot/projects/netsmp/src/sys/dev/an/if_an.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.67 2005/06/14 14:50:40 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.69 2005/08/02 16:03:51 emax Exp $"); /* * The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form. @@ -832,12 +832,12 @@ } AN_LOCK(sc); an_stop(sc); + sc->an_gone = 1; ifmedia_removeall(&sc->an_ifmedia); ifp->if_flags &= ~IFF_RUNNING; + AN_UNLOCK(sc); ether_ifdetach(ifp); if_free(ifp); - sc->an_gone = 1; - AN_UNLOCK(sc); bus_teardown_intr(dev, sc->irq_res, sc->irq_handle); an_release_resources(dev); mtx_destroy(&sc->an_mtx); ==== //depot/projects/netsmp/src/sys/dev/ata/ata-all.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.103 2005/05/16 13:07:26 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.104 2005/07/29 18:14:06 sos Exp $ */ /* ATA register defines */ @@ -434,7 +434,6 @@ int error; }; -struct ata_channel {}; /* structure holding DMA related information */ struct ata_dma { bus_dma_tag_t dmatag; /* parent DMA tag */ ==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.97 2005/07/23 05:34:29 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.98 2005/07/24 05:11:39 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -522,8 +522,7 @@ * all parts. We're a bit pedantic here as all parts * support a global cap. */ - sc->sc_hastpc = ath_hal_hastpc(ah); - if (sc->sc_hastpc || ath_hal_hastxpowlimit(ah)) + if (ath_hal_hastpc(ah) || ath_hal_hastxpowlimit(ah)) ic->ic_caps |= IEEE80211_C_TXPMGT; /* @@ -547,10 +546,6 @@ /* * Query the hal about antenna support. */ - if (ath_hal_hasdiversity(ah)) { - sc->sc_hasdiversity = 1; - sc->sc_diversity = ath_hal_getdiversity(ah); - } sc->sc_defant = ath_hal_getdefantenna(ah); /* @@ -880,6 +875,11 @@ * but it's best done after a reset. */ ath_update_txpow(sc); + /* + * Likewise this is set during reset so update + * state cached in the driver. + */ + sc->sc_diversity = ath_hal_getdiversity(ah); /* * Setup the hardware after reset: the key cache @@ -1031,6 +1031,7 @@ if_printf(ifp, "%s: unable to reset hardware; hal status %u\n", __func__, status); ath_update_txpow(sc); /* update tx power state */ + sc->sc_diversity = ath_hal_getdiversity(ah); if (ath_startrecv(sc) != 0) /* restart recv */ if_printf(ifp, "%s: unable to start recv logic\n", __func__); /* @@ -4042,6 +4043,7 @@ } sc->sc_curchan = hchan; ath_update_txpow(sc); /* update tx power state */ + sc->sc_diversity = ath_hal_getdiversity(ah); /* * Re-enable rx framework. @@ -4822,14 +4824,16 @@ ath_sysctl_diversity(SYSCTL_HANDLER_ARGS) { struct ath_softc *sc = arg1; - u_int diversity = sc->sc_diversity; + u_int diversity = ath_hal_getdiversity(sc->sc_ah); int error; error = sysctl_handle_int(oidp, &diversity, 0, req); if (error || !req->newptr) return error; + if (!ath_hal_setdiversity(sc->sc_ah, diversity)) + return EINVAL; sc->sc_diversity = diversity; - return !ath_hal_setdiversity(sc->sc_ah, diversity) ? EINVAL : 0; + return 0; } static int @@ -4880,6 +4884,7 @@ { struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->sc_dev); struct sysctl_oid *tree = device_get_sysctl_tree(sc->sc_dev); + struct ath_hal *ah = sc->sc_ah; ath_hal_getcountrycode(sc->sc_ah, &sc->sc_countrycode); SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, @@ -4921,7 +4926,7 @@ SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "rxantenna", CTLTYPE_INT | CTLFLAG_RW, sc, 0, ath_sysctl_rxantenna, "I", "default/rx antenna"); - if (sc->sc_hasdiversity) + if (ath_hal_hasdiversity(ah)) SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "diversity", CTLTYPE_INT | CTLFLAG_RW, sc, 0, ath_sysctl_diversity, "I", "antenna diversity"); @@ -4935,7 +4940,7 @@ SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "tpscale", CTLTYPE_INT | CTLFLAG_RW, sc, 0, ath_sysctl_tpscale, "I", "tx power scaling"); - if (sc->sc_hastpc) + if (ath_hal_hastpc(ah)) SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "tpc", CTLTYPE_INT | CTLFLAG_RW, sc, 0, ath_sysctl_tpc, "I", "enable/disable per-packet TPC"); ==== //depot/projects/netsmp/src/sys/dev/ath/if_athvar.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.27 2005/07/07 00:04:50 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.28 2005/07/24 05:11:39 sam Exp $ */ /* @@ -199,10 +199,8 @@ sc_softled : 1, /* enable LED gpio status */ sc_splitmic: 1, /* split TKIP MIC keys */ sc_needmib : 1, /* enable MIB stats intr */ - sc_hasdiversity : 1,/* rx diversity available */ sc_diversity : 1,/* enable rx diversity */ sc_hasveol : 1, /* tx VEOL support */ - sc_hastpc : 1, /* per-packet TPC support */ sc_ledstate: 1, /* LED on/off state */ sc_blinking: 1, /* LED blink operation active */ sc_mcastkey: 1, /* mcast key cache search */ ==== //depot/projects/netsmp/src/sys/dev/drm/r300_cmdbuf.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ * Authors: * Nicolai Haehnle * - * $FreeBSD: src/sys/dev/drm/r300_cmdbuf.c,v 1.1 2005/07/20 21:10:57 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/r300_cmdbuf.c,v 1.2 2005/08/01 17:50:19 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -625,7 +625,7 @@ drm_radeon_private_t *dev_priv = dev->dev_private; drm_radeon_buf_priv_t *buf_priv = buf->dev_private; - buf_priv->age = dev_priv->sarea_priv->last_dispatch+1; + buf_priv->age = ++dev_priv->sarea_priv->last_dispatch; buf->pending = 1; buf->used = 0; } @@ -790,8 +790,6 @@ if (emit_dispatch_age) { RING_LOCALS; - dev_priv->sarea_priv->last_dispatch++; - /* Emit the vertex buffer age */ BEGIN_RING(2); RADEON_DISPATCH_AGE(dev_priv->sarea_priv->last_dispatch); ==== //depot/projects/netsmp/src/sys/dev/eisa/eisaconf.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/eisa/eisaconf.c,v 1.72 2005/03/17 17:36:07 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/eisa/eisaconf.c,v 1.73 2005/08/01 07:09:15 imp Exp $"); #include "opt_eisa.h" @@ -93,10 +93,9 @@ static devclass_t eisa_devclass; static int eisa_probe_slot(int slot, eisa_id_t *eisa_id); -static void eisa_reg_print (device_t, char *, char *, int *); -static struct irq_node * eisa_find_irq(struct eisa_device *e_dev, int rid); -static struct resvaddr * eisa_find_maddr(struct eisa_device *e_dev, int rid); -static struct resvaddr * eisa_find_ioaddr(struct eisa_device *e_dev, int rid); +static struct irq_node *eisa_find_irq(struct eisa_device *e_dev, int rid); +static struct resvaddr *eisa_find_maddr(struct eisa_device *e_dev, int rid); +static struct resvaddr *eisa_find_ioaddr(struct eisa_device *e_dev, int rid); static int mainboard_probe(device_t dev) @@ -231,94 +230,47 @@ u_int32_t eisa_id = eisa_get_id(child); u_int8_t slot = eisa_get_slot(child); - device_printf(dev, "unknown card %c%c%c%03x%01x (0x%08x) at slot %d\n", + device_printf(dev, "%c%c%c%03x%01x (0x%08x) at slot %d (no driver attached)\n", EISA_MFCTR_CHAR0(eisa_id), EISA_MFCTR_CHAR1(eisa_id), EISA_MFCTR_CHAR2(eisa_id), EISA_PRODUCT_ID(eisa_id), EISA_REVISION_ID(eisa_id), eisa_id, slot); return; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 2 17:00:06 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D3BA16A421; Tue, 2 Aug 2005 17:00:06 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B32B16A41F for ; Tue, 2 Aug 2005 17:00:06 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C63C043D48 for ; Tue, 2 Aug 2005 17:00:05 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72H05IA006973 for ; Tue, 2 Aug 2005 17:00:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72H05ld006970 for perforce@freebsd.org; Tue, 2 Aug 2005 17:00:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 2 Aug 2005 17:00:05 GMT Message-Id: <200508021700.j72H05ld006970@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81340 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 17:00:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=81340 Change 81340 by rwatson@rwatson_zoo on 2005/08/02 16:59:31 Replace ifmaof_ifpforaddr() with if_findmulti(), static to if.c. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.c#6 edit .. //depot/projects/netsmp/src/sys/net/if_var.h#4 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.c#6 (text+ko) ==== @@ -1827,8 +1827,8 @@ return (if_setflag(ifp, IFF_ALLMULTI, 0, &ifp->if_amcount, onswitch)); } -struct ifmultiaddr * -ifmaof_ifpforaddr(struct sockaddr *sa, struct ifnet *ifp) +static struct ifmultiaddr * +if_findmulti(struct ifnet *ifp, struct sockaddr *sa) { struct ifmultiaddr *ifma; @@ -1843,19 +1843,6 @@ } /* - * XXXRW: ifmaof_ifpforaddr() is an unsensible name, and appears not to be - * used, so use my more sensibly named version here. - */ -static struct ifmultiaddr * -if_findmulti(struct ifnet *ifp, struct sockaddr *sa) -{ - - IF_ADDR_LOCK_ASSERT(ifp); - - return (ifmaof_ifpforaddr(sa, ifp)); -} - -/* * Allocate a new ifmultiaddr and initialize based on passed arguments. We * make copies of passed sockaddrs. The ifmultiaddr will not be added to * the ifnet multicast address list here, so the caller must do that and ==== //depot/projects/netsmp/src/sys/net/if_var.h#4 (text+ko) ==== @@ -645,7 +645,6 @@ struct ifaddr *ifa_ifwithroute(int, struct sockaddr *, struct sockaddr *); struct ifaddr *ifaof_ifpforaddr(struct sockaddr *, struct ifnet *); -struct ifmultiaddr *ifmaof_ifpforaddr(struct sockaddr *, struct ifnet *); int if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen); typedef void *if_com_alloc_t(u_char type, struct ifnet *ifp); From owner-p4-projects@FreeBSD.ORG Tue Aug 2 17:37:53 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E1E2416A421; Tue, 2 Aug 2005 17:37:52 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 92B5816A41F for ; Tue, 2 Aug 2005 17:37:52 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18CB643D4C for ; Tue, 2 Aug 2005 17:37:52 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72Hbq5w008921 for ; Tue, 2 Aug 2005 17:37:52 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72HbpBT008918 for perforce@freebsd.org; Tue, 2 Aug 2005 17:37:51 GMT (envelope-from soc-victor@freebsd.org) Date: Tue, 2 Aug 2005 17:37:51 GMT Message-Id: <200508021737.j72HbpBT008918@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 81342 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 17:37:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=81342 Change 81342 by soc-victor@soc-victor_82.76.158.176 on 2005/08/02 17:36:56 Made hrDiskStorageTable to build and run for 6-CURRENT (related to ATA API and md(4) API changes ). For now keep the 5.4 version in case someone will need it. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#4 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#4 (text+ko) ==== @@ -28,8 +28,8 @@ * * Host Resources MIB for SNMPd. Implementation for the hrDiskStorageTable */ - - + + #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include #include #include @@ -59,36 +59,36 @@ static -struct hrDiskStorageTblEntry* +struct hrDiskStorageTblEntry* hrDiskStorageEntry_create( const struct hrDeviceTblEntry* devEntry) { - struct - hrDiskStorageTblEntry *entry = NULL; + struct + hrDiskStorageTblEntry *entry = NULL; + + assert(devEntry != NULL); + if (devEntry == NULL) { + return NULL; + } - assert(devEntry != NULL); - if (devEntry == NULL) { - return NULL; - } - - if ((entry = malloc(sizeof(*entry))) == NULL) { - syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); - return (NULL); - } - memset(entry, 0, sizeof(*entry)); - entry->index = devEntry->index; - INSERT_OBJECT_INT(entry, &hrState_g.hr_disk_storage_tbl); - return entry; + if ((entry = malloc(sizeof(*entry))) == NULL) { + syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); + return (NULL); + } + memset(entry, 0, sizeof(*entry)); + entry->index = devEntry->index; + INSERT_OBJECT_INT(entry, &hrState_g.hr_disk_storage_tbl); + return entry; } static void hrDiskStorageEntry_delete_v( struct hrDiskStorageTblEntry* entry ) { - assert(entry != NULL); - if (entry == NULL) { - return; - } - TAILQ_REMOVE(&hrState_g.hr_disk_storage_tbl, entry, link); - free(entry); + assert(entry != NULL); + if (entry == NULL) { + return; + } + TAILQ_REMOVE(&hrState_g.hr_disk_storage_tbl, entry, link); + free(entry); } @@ -96,603 +96,723 @@ struct hrDiskStorageTblEntry * hrDiskStorageTblEntry_find_by_index(int32_t idx) { - struct hrDiskStorageTblEntry *entry; + struct hrDiskStorageTblEntry *entry; - TAILQ_FOREACH(entry, &hrState_g.hr_disk_storage_tbl, link) - if (entry->index == idx) - return (entry); - return (NULL); + TAILQ_FOREACH(entry, &hrState_g.hr_disk_storage_tbl, link) + if (entry->index == idx) + return (entry); + return (NULL); } static -struct hrDeviceTblEntry* +struct hrDeviceTblEntry* hrDeviceTblEntry_create( const char* dev_name) { - struct - hrDeviceTblEntry *entry; - struct - deviceNameMapEntry *map = NULL; + struct + hrDeviceTblEntry *entry; + struct + deviceNameMapEntry *map = NULL; + + + assert(dev_name != NULL); + + if (dev_name == NULL) { + return (NULL); + } + + if (dev_name[0] == '\0') { + return (NULL); + } + + if ((entry = malloc(sizeof(*entry))) == NULL) { + syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); + return (NULL); + } + memset(entry, 0, sizeof(*entry)); + + + STAILQ_FOREACH(map, &hrState_g.device_name_map, link) + if (strcmp(map->name_key, dev_name) == 0) { + entry->index = map->hrIndex; + map->entry_p = entry; + break; + } + + if (map == NULL) { + /* new object - get a new index */ + if (hrState_g.next_hrDevice_index > INT_MAX) { + syslog(LOG_ERR, "%s: hrDeviceTable index wrap", __func__ ); + errx(1, "hrDeviceTable index wrap"); + } + + if ((map = malloc(sizeof(*map))) == NULL) { + syslog(LOG_ERR, "hrStorageTable: %s: %m", __func__ ); + free(entry); + return (NULL); + } + map->hrIndex = hrState_g.next_hrDevice_index ++; + + memset(&map->name_key[0], 0, sizeof(map->name_key)); + strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); + + memset(&map->location_key[0], 0, sizeof(map->location_key)); + snprintf(map->location_key, sizeof(map->location_key) - 1, "/dev/%s", dev_name); + - - assert(dev_name != NULL); + map->entry_p = entry; + STAILQ_INSERT_TAIL(&hrState_g.device_name_map, map, link); + HR_DPRINTF((stderr, "%s at %s added into hrDeviceMap at index=%d\n ", + dev_name, + dev_name, map->hrIndex)); + } else { + HR_DPRINTF((stderr, "%s at %s exists in hrDeviceMap index=%d\n ", + dev_name, + dev_name, map->hrIndex)); - if (dev_name == NULL) { - return (NULL); - } - - if (dev_name[0] == '\0') { - return (NULL); - } - - if ((entry = malloc(sizeof(*entry))) == NULL) { - syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); - return (NULL); - } - memset(entry, 0, sizeof(*entry)); - + } - STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0) { - entry->index = map->hrIndex; - map->entry_p = entry; - break; - } - - if (map == NULL) { - /* new object - get a new index */ - if (hrState_g.next_hrDevice_index > INT_MAX) { - syslog(LOG_ERR, "%s: hrDeviceTable index wrap", __func__ ); - errx(1, "hrDeviceTable index wrap"); - } + entry->index = map->hrIndex; + memset(&entry->name[0], 0, sizeof(entry->name)); + strncpy(entry->name, dev_name, sizeof(entry->name) - 1); - if ((map = malloc(sizeof(*map))) == NULL) { - syslog(LOG_ERR, "hrStorageTable: %s: %m", __func__ ); - free(entry); - return (NULL); - } - map->hrIndex = hrState_g.next_hrDevice_index ++; - - memset(&map->name_key[0], 0, sizeof(map->name_key)); - strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); - - memset(&map->location_key[0], 0, sizeof(map->location_key)); - snprintf(map->location_key, sizeof(map->location_key) - 1, "/dev/%s", dev_name); + memset(&entry->location[0], 0, sizeof(entry->location)); + snprintf(entry->location, sizeof(entry->location) - 1, "/dev/%s", dev_name); + INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); - map->entry_p = entry; - STAILQ_INSERT_TAIL(&hrState_g.device_name_map, map, link); - HR_DPRINTF((stderr, "%s at %s added into hrDeviceMap at index=%d\n ", - dev_name, - dev_name, map->hrIndex)); - } else { - HR_DPRINTF((stderr, "%s at %s exists in hrDeviceMap index=%d\n ", - dev_name, - dev_name, map->hrIndex)); + return entry; - } - - entry->index = map->hrIndex; - memset(&entry->name[0], 0, sizeof(entry->name)); - strncpy(entry->name, dev_name, sizeof(entry->name) - 1); - - memset(&entry->location[0], 0, sizeof(entry->location)); - snprintf(entry->location, sizeof(entry->location) - 1, "/dev/%s", dev_name); - - INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); - - return entry; - } - + static struct hrDeviceTblEntry* hrDeviceTblEntry_find_by_name(const char *dev_name) { - struct deviceNameMapEntry *map; - assert(dev_name != NULL); - + struct deviceNameMapEntry *map; + assert(dev_name != NULL); + - STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0 ) { - return (map->entry_p); - } - return (NULL); + STAILQ_FOREACH(map, &hrState_g.device_name_map, link) + if (strcmp(map->name_key, dev_name) == 0 ) { + return (map->entry_p); + } + return (NULL); } -static +static void hrDiskStorage_queryDisk(struct hrDiskStorageTblEntry *entry){ - char dev_path[128] = ""; - int fd = -1; - if (entry == NULL) { - return; - } - if( entry->dev_name[0] == '\0' ) { - return; - } - snprintf(dev_path, sizeof(dev_path) - 1, "/dev/%s", entry->dev_name); - entry->capacity = 0; - HR_DPRINTF((stderr,"OPENING device %s\n",dev_path)); - fd = open(dev_path, O_RDONLY|O_NONBLOCK); - if ( fd < 0 ) { - HR_DPRINTF((stderr,"OPEN device %s failed: %d (%s)\n", - dev_path, - errno, - strerror(errno))); - goto QUERY_DONE; - } else { - off_t mediasize = 0; - if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) < 0) { - HR_DPRINTF((stderr,"DIOCGMEDIASIZE for device %s failed: %d (%s)\n", - dev_path, - errno, - strerror(errno))); - goto QUERY_DONE; - } - mediasize = mediasize / 1024; - entry->capacity = (mediasize > (off_t)INT_MAX ? INT_MAX : mediasize); - } + char dev_path[128] = ""; + int fd = -1; + if (entry == NULL) { + return; + } + if( entry->dev_name[0] == '\0' ) { + return; + } + snprintf(dev_path, sizeof(dev_path) - 1, "/dev/%s", entry->dev_name); + entry->capacity = 0; + HR_DPRINTF((stderr,"OPENING device %s\n",dev_path)); + fd = open(dev_path, O_RDONLY|O_NONBLOCK); + if ( fd < 0 ) { + HR_DPRINTF((stderr,"OPEN device %s failed: %d (%s)\n", + dev_path, + errno, + strerror(errno))); + goto QUERY_DONE; + } else { + off_t mediasize = 0; + if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) < 0) { + HR_DPRINTF((stderr,"DIOCGMEDIASIZE for device %s failed: %d (%s)\n", + dev_path, + errno, + strerror(errno))); + goto QUERY_DONE; + } + mediasize = mediasize / 1024; + entry->capacity = (mediasize > (off_t)INT_MAX ? INT_MAX : mediasize); + } QUERY_DONE: - if (fd > 0) { - close(fd); - } - + if (fd > 0) { + close(fd); + } + } -static -void +static +void hrDiskStorage_OS_get_ATA_disks_v(void) { - struct hrDeviceTblEntry *entry = NULL; - struct hrDiskStorageTblEntry *disk_entry = NULL; + struct hrDeviceTblEntry *entry = NULL; + struct hrDiskStorageTblEntry *disk_entry = NULL; + +/* + * Remove the pre 6 vesrion if not needed + */ +#if __FreeBSD_version < 600000 + + struct ata_cmd iocmd; + int maxunit, unit, i; + if ( hrState_g.ata_fd < 0 ){ + return; + } + + iocmd.cmd = ATAGMAXCHANNEL; + if (ioctl(hrState_g.ata_fd, IOCATA, &iocmd) < 0) { + syslog(LOG_ERR, "ioctl(ATAGMAXCHANNEL) failed: %m"); + goto ATA_DONE; + } + maxunit = iocmd.u.maxchan; + for (unit = 0; unit < maxunit; unit++) { + struct ata_cmd u_iocmd; + + memset(&u_iocmd, 0, sizeof(struct ata_cmd)); + u_iocmd.channel = unit; + u_iocmd.device = -1; + u_iocmd.cmd = ATAGPARM; + if (ioctl(hrState_g.ata_fd, IOCATA, &u_iocmd) < 0) { + syslog(LOG_ERR, "ioctl(IOCATA) failed: %m"); + continue; + } + + for(i=0; i<=1; i++) { + if (!u_iocmd.u.param.type[i]) { + continue; + } + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(u_iocmd.u.param.name[i]); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", + u_iocmd.u.param.name[i] )); + entry = hrDeviceTblEntry_create(u_iocmd.u.param.name[i]); + assert(entry != NULL); + if (entry == NULL) { + continue; + } + + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: <%s, ser. %s> ", + u_iocmd.u.param.name[i], + u_iocmd.u.param.params[i].model, + u_iocmd.u.param.params[i].serial); + + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", + u_iocmd.u.param.name[i] )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; + + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + disk_entry->access = DS_READ_WRITE; + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, u_iocmd.u.param.name[i], sizeof(disk_entry->dev_name)-1); + + if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { + disk_entry->media = DSM_HARDDISK; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { + disk_entry->media = DSM_OPTICALDISKROM; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { + disk_entry->media = DSM_FLOPPYDISK; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_TRUE; + } else { + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + } + + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_ATA; + + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; + } + } +ATA_DONE: + return; +#else +/* + * This the post 6 version: it is here to stay + */ + + int maxunit, unit, i; + if ( hrState_g.ata_fd < 0 ){ + return; + } + + + if (ioctl(hrState_g.ata_fd, IOCATAGMAXCHANNEL, &maxunit) < 0) { + syslog(LOG_ERR, "ioctl(IOCATAGMAXCHANNEL) failed: %m"); + goto ATA_DONE; + } + + for (unit = 0; unit < maxunit; unit++) { + struct ata_ioc_devices devices; + memset(&devices, 0, sizeof(devices)); + + devices.channel = unit; + + + if (ioctl(hrState_g.ata_fd, IOCATADEVICES, &devices) < 0) { + HR_DPRINTF((stderr, "ioctl(IOCATADEVICES) failed: %s\n", strerror(errno))); + continue; + } + + for(i=0; i<=1; i++) { + if (*devices.name[i] == 0) { + continue; + } + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(devices.name[i]); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", + devices.name[i] )); + entry = hrDeviceTblEntry_create(devices.name[i]); + assert(entry != NULL); + if (entry == NULL) { + continue; + } + + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: <%s, ser. %s> ", + devices.name[i], + devices.params[i].model, + devices.params[i].serial); + + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", + devices.name[i] )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; - struct ata_cmd iocmd; - int maxunit, unit, i; - if ( hrState_g.ata_fd < 0 ){ - return; - } - - iocmd.cmd = ATAGMAXCHANNEL; - if (ioctl(hrState_g.ata_fd, IOCATA, &iocmd) < 0) { - syslog(LOG_ERR, "ioctl(ATAGMAXCHANNEL) failed: %m"); - goto ATA_DONE; - } - maxunit = iocmd.u.maxchan; - for (unit = 0; unit < maxunit; unit++) { - struct ata_cmd u_iocmd; + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + disk_entry->access = DS_READ_WRITE; + memset(&disk_entry->dev_name[0], 0, + sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, + devices.name[i], + sizeof(disk_entry->dev_name)-1); - memset(&u_iocmd, 0, sizeof(struct ata_cmd)); - u_iocmd.channel = unit; - u_iocmd.device = -1; - u_iocmd.cmd = ATAGPARM; - if (ioctl(hrState_g.ata_fd, IOCATA, &u_iocmd) < 0) { - syslog(LOG_ERR, "ioctl(IOCATA) failed: %m"); - continue; - } + if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { + disk_entry->media = DSM_HARDDISK; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { + disk_entry->media = DSM_OPTICALDISKROM; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { + disk_entry->media = DSM_FLOPPYDISK; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_TRUE; + } else { + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + } - for(i=0; i<=1; i++) { - if (!u_iocmd.u.param.type[i]) { - continue; - } - /*first check if this disk is in hrDeiveTable*/ - entry = hrDeviceTblEntry_find_by_name(u_iocmd.u.param.name[i]); - if (entry == NULL) { - HR_DPRINTF((stderr, - "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", - u_iocmd.u.param.name[i] )); - entry = hrDeviceTblEntry_create(u_iocmd.u.param.name[i]); - assert(entry != NULL); - if (entry == NULL) { - continue; - } + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_ATA; - entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; - entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DR_RUNNING; - entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, - "%s: <%s, ser. %s> ", - u_iocmd.u.param.name[i], - u_iocmd.u.param.params[i].model, - u_iocmd.u.param.params[i].serial); - - }else{ - HR_DPRINTF((stderr, - "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", - u_iocmd.u.param.name[i] )); - } - entry->flags |= HR_DEVICE_IMMUTABLE; - entry->flags |= HR_DEVICE_FOUND; - - /*Then check hrDiskStorage table for this device*/ - disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); - if (disk_entry == NULL) { - disk_entry = hrDiskStorageEntry_create(entry); - assert(disk_entry != NULL); - if (disk_entry == NULL) { - continue; - } - disk_entry->access = DS_READ_WRITE; - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, u_iocmd.u.param.name[i], sizeof(disk_entry->dev_name)-1); - - if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { - disk_entry->media = DSM_HARDDISK; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { - disk_entry->media = DSM_OPTICALDISKROM; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { - disk_entry->media = DSM_FLOPPYDISK; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_TRUE; - } else { - disk_entry->media = DSM_UNKNOWN; - disk_entry->removable = SNMP_FALSE; - } - - } - disk_entry->flags |= HR_DISKSTORAGE_FOUND; - disk_entry->flags |= HR_DISKSTORAGE_ATA; - - hrDiskStorage_queryDisk(disk_entry); - disk_entry->r_tick = this_tick; - } - } + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; + } + } ATA_DONE: - return; -} + return; + +#endif /* __FreeBSD_version < 600000 */ +} -static -void +static +void hrDiskStorage_OS_get_MD_disks_v(void) { - struct hrDeviceTblEntry *entry = NULL; - struct hrDiskStorageTblEntry *disk_entry = NULL; + struct hrDeviceTblEntry *entry = NULL; + struct hrDiskStorageTblEntry *disk_entry = NULL; + + struct md_ioctl mdio; + int unit = 0; + + + if ( hrState_g.md_fd < 0 ){ + return; + } + memset(&mdio, 0, sizeof(mdio)); + mdio.md_version = MDIOVERSION; + mdio.md_options = MD_AUTOUNIT; + + if (ioctl( hrState_g.md_fd, MDIOCLIST, &mdio) < 0) { + syslog(LOG_ERR, "ioctl(/dev/%s) failed: %m", MDCTL_NAME); + return; + } + for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { + char mddev[64] = ""; + snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); + struct md_ioctl u_mdio; + + memset(&u_mdio, 0, sizeof(u_mdio)); + u_mdio.md_version = MDIOVERSION; + u_mdio.md_unit = mdio.md_pad[unit + 1]; + + if (ioctl( hrState_g.md_fd, MDIOCQUERY, &u_mdio) < 0) { + syslog(LOG_ERR, "ioctl(/dev/%s, MDIOCQUERY) [%s] failed: %m", MDCTL_NAME, mddev); + continue; + } + - struct md_ioctl mdio; - int unit = 0; + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(mddev); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable; MD %s not in hrDeviceTable\n", + mddev )); + entry = hrDeviceTblEntry_create(mddev); + assert(entry != NULL); + if (entry == NULL) { + continue; + } - - if ( hrState_g.md_fd < 0 ){ - return; - } - memset(&mdio, 0, sizeof(mdio)); - mdio.md_version = MDIOVERSION; - mdio.md_options = MD_AUTOUNIT; - - if (ioctl( hrState_g.md_fd, MDIOCLIST, &mdio) < 0) { - syslog(LOG_ERR, "ioctl(/dev/%s) failed: %m", MDCTL_NAME); - return; - } - for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { - char mddev[64] = ""; - snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); - struct md_ioctl u_mdio; + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: Memory Disk ", + mddev); - memset(&u_mdio, 0, sizeof(u_mdio)); - u_mdio.md_version = MDIOVERSION; - u_mdio.md_unit = mdio.md_pad[unit + 1]; + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; MD %s already in hrDeviceTable\n", + mddev )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; - if (ioctl( hrState_g.md_fd, MDIOCQUERY, &u_mdio) < 0) { - syslog(LOG_ERR, "ioctl(/dev/%s, MDIOCQUERY) [%s] failed: %m", MDCTL_NAME, mddev); - continue; - } + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + if ((u_mdio.md_options & MD_READONLY) == MD_READONLY) { + disk_entry->access = DS_READ_ONLY; + } else { + disk_entry->access = DS_READ_WRITE; + } + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, mddev, sizeof(disk_entry->dev_name)-1); + disk_entry->media = DSM_RAMDISK; + disk_entry->removable = SNMP_FALSE; - /*first check if this disk is in hrDeiveTable*/ - entry = hrDeviceTblEntry_find_by_name(mddev); - if (entry == NULL) { - HR_DPRINTF((stderr, - "hrDiskStorageTable; MD %s not in hrDeviceTable\n", - mddev )); - entry = hrDeviceTblEntry_create(mddev); - assert(entry != NULL); - if (entry == NULL) { - continue; - } - entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; - entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DR_RUNNING; - entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, - "%s: Memory Disk ", - mddev); - - }else{ - HR_DPRINTF((stderr, - "hrDiskStorageTable; MD %s already in hrDeviceTable\n", - mddev )); - } - entry->flags |= HR_DEVICE_IMMUTABLE; - entry->flags |= HR_DEVICE_FOUND; - - /*Then check hrDiskStorage table for this device*/ - disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); - if (disk_entry == NULL) { - disk_entry = hrDiskStorageEntry_create(entry); - assert(disk_entry != NULL); - if (disk_entry == NULL) { - continue; - } - if ((u_mdio.md_options & MD_READONLY) == MD_READONLY) { - disk_entry->access = DS_READ_ONLY; - } else { - disk_entry->access = DS_READ_WRITE; - } - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, mddev, sizeof(disk_entry->dev_name)-1); + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_MD; +/* + * Remove the pre 6 vesrion if not needed + */ +#if __FreeBSD_version < 600000 + disk_entry->capacity = u_mdio.md_size / 2; +#else + disk_entry->capacity = u_mdio.md_mediasize / 1024; +#endif /*__FreeBSD_version < 600000 */ + disk_entry->r_tick = this_tick; - disk_entry->media = DSM_RAMDISK; - disk_entry->removable = SNMP_FALSE; - - - } - disk_entry->flags |= HR_DISKSTORAGE_FOUND; - disk_entry->flags |= HR_DISKSTORAGE_MD; - disk_entry->capacity = u_mdio.md_size / 2; + } +} - disk_entry->r_tick = this_tick; - - } -} - static void hrDiskStorage_OS_get_disks_v(void) { - size_t disk_cnt = 0; - struct hrDeviceTblEntry *entry = NULL; - struct hrDiskStorageTblEntry *disk_entry = NULL; + size_t disk_cnt = 0; + struct hrDeviceTblEntry *entry = NULL; + struct hrDiskStorageTblEntry *disk_entry = NULL; + + size_t disk_list_len = 0; + + if (sysctlbyname("kern.disks", NULL, &disk_list_len, NULL, 0) < 0) { + syslog(LOG_ERR, "hrDiskStorageTable:sysctl #1 kern.disks failed: %m"); + return; + } + + if (disk_list_len == 0) + return; + + if (hrState_g.disk_list_len != disk_list_len + 1 || hrState_g.disk_list == NULL) { + hrState_g.disk_list_len = disk_list_len + 1; + hrState_g.disk_list = + (char *)reallocf(hrState_g.disk_list, hrState_g.disk_list_len); + } + if (hrState_g.disk_list == NULL) { + syslog(LOG_ERR, "hrDiskStorageTable: reallocf failed: %m"); + hrState_g.disk_list_len = 0; + return; + } + + memset(hrState_g.disk_list, 0, hrState_g.disk_list_len); + + if (sysctlbyname("kern.disks", hrState_g.disk_list, &disk_list_len, NULL, 0) < 0 + || hrState_g.disk_list[0] == 0) { + syslog(LOG_ERR, "hrDiskStorageTable: sysctl #2 kern.disks failed: %m"); + return; + } + + for (disk_cnt = 0; disk_cnt < disk_list_len; disk_cnt++) { + char* disk = NULL; + char disk_device[128] = ""; + disk = strsep(&hrState_g.disk_list, " "); + if (disk == NULL) + break; + snprintf(disk_device, sizeof(disk_device) - 1, "/dev/%s", disk); + /* + First check if the disk is in the hrDeviceTable. + If not,add it. + NOTE; most disk devices (ATA, removable) are not detected by libdevice API + */ + entry = hrDeviceTblEntry_find_by_name(disk); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable; disk %s not in hrDeviceTable\n", + disk_device )); + entry = hrDeviceTblEntry_create(disk); + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: Disk Storage", + disk); + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; disk %s already in hrDeviceTable\n", + disk_device )); + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->flags |= HR_DEVICE_IMMUTABLE; + } + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + } + assert(disk_entry != NULL); + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + + if ((disk_entry->flags & HR_DISKSTORAGE_ATA) == HR_DISKSTORAGE_ATA || + (disk_entry->flags & HR_DISKSTORAGE_MD) == HR_DISKSTORAGE_MD) { + /*ATA detection is running before this one, so don't waste the time here */ + continue; + } + + disk_entry->access = DS_READ_WRITE; + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; - size_t disk_list_len = 0; - if (sysctlbyname("kern.disks", NULL, &disk_list_len, NULL, 0) < 0) { - syslog(LOG_ERR, "hrDiskStorageTable:sysctl #1 kern.disks failed: %m"); - return; - } + if (strncmp(disk_entry->dev_name, "da", strlen("da")) == 0) { + disk_entry->media = DSM_HARDDISK; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "cd", strlen("cd")) == 0) { + disk_entry->media = DSM_OPTICALDISKROM; + disk_entry->removable = SNMP_TRUE; + } else { + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + } - if (disk_list_len == 0) - return; + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, disk, sizeof(disk_entry->dev_name)-1); - if (hrState_g.disk_list_len != disk_list_len + 1 || hrState_g.disk_list == NULL) { - hrState_g.disk_list_len = disk_list_len + 1; - hrState_g.disk_list = - (char *)reallocf(hrState_g.disk_list, hrState_g.disk_list_len); - } - if (hrState_g.disk_list == NULL) { - syslog(LOG_ERR, "hrDiskStorageTable: reallocf failed: %m"); - hrState_g.disk_list_len = 0; - return; - } - - memset(hrState_g.disk_list, 0, hrState_g.disk_list_len); + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; - if (sysctlbyname("kern.disks", hrState_g.disk_list, &disk_list_len, NULL, 0) < 0 - || hrState_g.disk_list[0] == 0) { - syslog(LOG_ERR, "hrDiskStorageTable: sysctl #2 kern.disks failed: %m"); - return; - } - - for (disk_cnt = 0; disk_cnt < disk_list_len; disk_cnt++) { - char* disk = NULL; - char disk_device[128] = ""; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 2 20:22:17 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 178E116A421; Tue, 2 Aug 2005 20:22:17 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E144C16A41F for ; Tue, 2 Aug 2005 20:22:16 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B7BF43D48 for ; Tue, 2 Aug 2005 20:22:16 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72KMGmd015566 for ; Tue, 2 Aug 2005 20:22:16 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72KMGbL015563 for perforce@freebsd.org; Tue, 2 Aug 2005 20:22:16 GMT (envelope-from sam@freebsd.org) Date: Tue, 2 Aug 2005 20:22:16 GMT Message-Id: <200508022022.j72KMGbL015563@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81355 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 20:22:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=81355 Change 81355 by sam@sam_ebb on 2005/08/02 20:21:36 count dynamic references and disallow module unload if any exist Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_ccmp.c#9 edit .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_tkip.c#11 edit .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_wep.c#9 edit .. //depot/projects/wifi/sys/net80211/ieee80211_scan_ap.c#2 edit .. //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#2 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto_ccmp.c#9 (text+ko) ==== @@ -91,6 +91,9 @@ static int ccmp_decrypt(struct ieee80211_key *, u_int64_t pn, struct mbuf *, int hdrlen); +/* number of references from net80211 layer */ +static int nrefs = 0; + static void * ccmp_attach(struct ieee80211com *ic, struct ieee80211_key *k) { @@ -103,6 +106,7 @@ return NULL; } ctx->cc_ic = ic; + nrefs++; /* NB: we assume caller locking */ return ctx; } @@ -112,6 +116,8 @@ struct ccmp_ctx *ctx = k->wk_private; FREE(ctx, M_DEVBUF); + KASSERT(nrefs > 0, ("imbalanced attach/detach")); + nrefs--; /* NB: we assume caller locking */ } static int @@ -637,7 +643,14 @@ ieee80211_crypto_register(&ccmp); return 0; case MOD_UNLOAD: - ieee80211_crypto_unregister(&ccmp); + case MOD_QUIESCE: + if (nrefs) { + printf("wlan_ccmp: still in use (%u dynamic refs)\n", + nrefs); + return EBUSY; + } + if (type == MOD_UNLOAD) + ieee80211_crypto_unregister(&ccmp); return 0; } return EINVAL; ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto_tkip.c#11 (text+ko) ==== @@ -106,6 +106,9 @@ static int tkip_decrypt(struct tkip_ctx *, struct ieee80211_key *, struct mbuf *, int hdr_len); +/* number of references from net80211 layer */ +static int nrefs = 0; + static void * tkip_attach(struct ieee80211com *ic, struct ieee80211_key *k) { @@ -119,6 +122,7 @@ } ctx->tc_ic = ic; + nrefs++; /* NB: we assume caller locking */ return ctx; } @@ -128,6 +132,8 @@ struct tkip_ctx *ctx = k->wk_private; FREE(ctx, M_DEVBUF); + KASSERT(nrefs > 0, ("imbalanced attach/detach")); + nrefs--; /* NB: we assume caller locking */ } static int @@ -976,7 +982,14 @@ ieee80211_crypto_register(&tkip); return 0; case MOD_UNLOAD: - ieee80211_crypto_unregister(&tkip); + case MOD_QUIESCE: + if (nrefs) { + printf("wlan_tkip: still in use (%u dynamic refs)\n", + nrefs); + return EBUSY; + } + if (type == MOD_UNLOAD) + ieee80211_crypto_unregister(&tkip); return 0; } return EINVAL; ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto_wep.c#9 (text+ko) ==== @@ -82,6 +82,9 @@ u_int32_t wc_iv; /* initial vector for crypto */ }; +/* number of references from net80211 layer */ +static int nrefs = 0; + static void * wep_attach(struct ieee80211com *ic, struct ieee80211_key *k) { @@ -96,6 +99,7 @@ ctx->wc_ic = ic; get_random_bytes(&ctx->wc_iv, sizeof(ctx->wc_iv)); + nrefs++; /* NB: we assume caller locking */ return ctx; } @@ -105,6 +109,8 @@ struct wep_ctx *ctx = k->wk_private; FREE(ctx, M_DEVBUF); + KASSERT(nrefs > 0, ("imbalanced attach/detach")); + nrefs--; /* NB: we assume caller locking */ } static int @@ -481,7 +487,14 @@ ieee80211_crypto_register(&wep); return 0; case MOD_UNLOAD: - ieee80211_crypto_unregister(&wep); + case MOD_QUIESCE: + if (nrefs) { + printf("wlan_wep: still in use (%u dynamic refs)\n", + nrefs); + return EBUSY; + } + if (type == MOD_UNLOAD) + ieee80211_crypto_unregister(&wep); return 0; } return EINVAL; ==== //depot/projects/wifi/sys/net80211/ieee80211_scan_ap.c#2 (text+ko) ==== @@ -56,6 +56,9 @@ static int ap_flush(struct ieee80211_scan_state *); +/* number of references from net80211 layer */ +static int nrefs = 0; + /* * Attach prior to any scanning work. */ @@ -68,6 +71,7 @@ M_80211_SCAN, M_NOWAIT); ss->ss_priv = as; ap_flush(ss); + nrefs++; /* NB: we assume caller locking */ return 1; } @@ -79,8 +83,11 @@ { struct ap_state *as = ss->ss_priv; - if (as != NULL) + if (as != NULL) { + KASSERT(nrefs > 0, ("imbalanced attach/detach")); + nrefs--; /* NB: we assume caller locking */ FREE(as, M_80211_SCAN); + } return 1; } @@ -378,7 +385,14 @@ ieee80211_scanner_register(IEEE80211_M_HOSTAP, &ap_default); return 0; case MOD_UNLOAD: - ieee80211_scanner_unregister_all(&ap_default); + case MOD_QUIESCE: + if (nrefs) { + printf("wlan_scan_ap: still in use (%u dynamic refs)\n", + nrefs); + return EBUSY; + } + if (type == MOD_UNLOAD) + ieee80211_scanner_unregister_all(&ap_default); return 0; } return EINVAL; ==== //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#2 (text+ko) ==== @@ -110,6 +110,9 @@ static int match_bss(struct ieee80211com *, const struct ieee80211_scan_state *, const struct sta_entry *); +/* number of references from net80211 layer */ +static int nrefs = 0; + /* * Attach prior to any scanning work. */ @@ -126,6 +129,7 @@ mtx_init(&st->st_scanlock, "scangen", "802.11 scangen", MTX_DEF); TAILQ_INIT(&st->st_entry); ss->ss_priv = st; + nrefs++; /* NB: we assume caller locking */ return 1; } @@ -142,6 +146,8 @@ mtx_destroy(&st->st_lock); mtx_destroy(&st->st_scanlock); FREE(st, M_80211_SCAN); + KASSERT(nrefs > 0, ("imbalanced attach/detach")); + nrefs--; /* NB: we assume caller locking */ } return 1; } @@ -1345,8 +1351,16 @@ ieee80211_scanner_register(IEEE80211_M_AHDEMO, &adhoc_default); return 0; case MOD_UNLOAD: - ieee80211_scanner_unregister_all(&sta_default); - ieee80211_scanner_unregister_all(&adhoc_default); + case MOD_QUIESCE: + if (nrefs) { + printf("wlan_scan_sta: still in use (%u dynamic refs)\n", + nrefs); + return EBUSY; + } + if (type == MOD_UNLOAD) { + ieee80211_scanner_unregister_all(&sta_default); + ieee80211_scanner_unregister_all(&adhoc_default); + } return 0; } return EINVAL; From owner-p4-projects@FreeBSD.ORG Tue Aug 2 21:17:27 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 297B216A421; Tue, 2 Aug 2005 21:17:27 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F0FE216A41F for ; Tue, 2 Aug 2005 21:17:26 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C337943D48 for ; Tue, 2 Aug 2005 21:17:26 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j72LHQse025337 for ; Tue, 2 Aug 2005 21:17:26 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j72LHQRR025334 for perforce@freebsd.org; Tue, 2 Aug 2005 21:17:26 GMT (envelope-from sam@freebsd.org) Date: Tue, 2 Aug 2005 21:17:26 GMT Message-Id: <200508022117.j72LHQRR025334@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81360 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2005 21:17:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=81360 Change 81360 by sam@sam_ebb on 2005/08/02 21:16:59 IFC Affected files ... .. //depot/projects/wifi/sys/sys/mutex.h#8 integrate Differences ... ==== //depot/projects/wifi/sys/sys/mutex.h#8 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * from BSDI $Id: mutex.h,v 2.7.2.35 2000/04/27 03:10:26 cp Exp $ - * $FreeBSD: src/sys/sys/mutex.h,v 1.80 2005/07/15 18:17:59 jhb Exp $ + * $FreeBSD: src/sys/sys/mutex.h,v 1.81 2005/08/02 20:50:45 jhb Exp $ */ #ifndef _SYS_MUTEX_H_ @@ -418,7 +418,9 @@ (opts) \ }; \ SYSINIT(name##_mtx_sysinit, SI_SUB_LOCK, SI_ORDER_MIDDLE, \ - mtx_sysinit, &name##_args) + mtx_sysinit, &name##_args); \ + SYSUNINIT(name##_mtx_sysuninit, SI_SUB_LOCK, SI_ORDER_MIDDLE, \ + mtx_destroy, (mtx)) /* * The INVARIANTS-enabled mtx_assert() functionality. From owner-p4-projects@FreeBSD.ORG Wed Aug 3 07:24:49 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2686D16A421; Wed, 3 Aug 2005 07:24:49 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E921316A41F for ; Wed, 3 Aug 2005 07:24:48 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4A9243D45 for ; Wed, 3 Aug 2005 07:24:48 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j737Omju062657 for ; Wed, 3 Aug 2005 07:24:48 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j737OmPA062654 for perforce@freebsd.org; Wed, 3 Aug 2005 07:24:48 GMT (envelope-from soc-andrew@freebsd.org) Date: Wed, 3 Aug 2005 07:24:48 GMT Message-Id: <200508030724.j737OmPA062654@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81383 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 07:24:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=81383 Change 81383 by soc-andrew@soc-andrew_serv on 2005/08/03 07:23:52 Add a kernel config without preemption to work around a double free Affected files ... .. //depot/projects/soc2005/bsdinstaller/scripts/build_patch.sh#6 edit .. //depot/projects/soc2005/bsdinstaller/scripts/build_release.sh#3 edit .. //depot/projects/soc2005/bsdinstaller/src/sys/i386/conf/NOPREEMPTION#1 add Differences ... ==== //depot/projects/soc2005/bsdinstaller/scripts/build_patch.sh#6 (text+ko) ==== @@ -6,7 +6,7 @@ FILES="lib/Makefile usr.sbin/Makefile release/Makefile share/Makefile etc/mtree/BSD.usr.dist" # Dir's to create a tarball of:name for tarball -DIRS="contrib/bsdinstaller:base lib/bsdinstaller:lib usr.sbin/bsdinstaller:usr_sbin release/bsdinstaller:release share/bsdinstaller:share" +DIRS="contrib/bsdinstaller:base lib/bsdinstaller:lib usr.sbin/bsdinstaller:usr_sbin release/bsdinstaller:release share/bsdinstaller:share sys/i386/conf/NOPREEMPTION:sys" VENDOR="//depot/vendor/freebsd/src" BSDINS="//depot/projects/soc2005/bsdinstaller/src" ==== //depot/projects/soc2005/bsdinstaller/scripts/build_release.sh#3 (text+ko) ==== @@ -13,6 +13,6 @@ cd ${SRC_DIR}/release -sudo make release CHROOTDIR=${CHROOTDIR} CVSROOT=${CVSROOT} BUILDNAME=${BUILDNAME} LOCAL_PATCHES=${PATCH_DIR}/bsd_install.diff LOCAL_SCRIPT=${PATCH_DIR}/local_script.sh -DMAKE_ISOS -DNODOC -DNOPORTS -DBSDINSTALLER +sudo make release CHROOTDIR=${CHROOTDIR} CVSROOT=${CVSROOT} BUILDNAME=${BUILDNAME} LOCAL_PATCHES=${PATCH_DIR}/bsd_install.diff LOCAL_SCRIPT=${PATCH_DIR}/local_script.sh -DMAKE_ISOS -DNODOC -DNOPORTS -DBSDINSTALLER KERNELS=NOPREEMPTION cd $WD From owner-p4-projects@FreeBSD.ORG Wed Aug 3 11:37:49 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D34B716A420; Wed, 3 Aug 2005 11:37:48 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8471316A421 for ; Wed, 3 Aug 2005 11:37:48 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 27D7043D45 for ; Wed, 3 Aug 2005 11:37:46 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73BbkUM080134 for ; Wed, 3 Aug 2005 11:37:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73Bbj7V080131 for perforce@freebsd.org; Wed, 3 Aug 2005 11:37:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 3 Aug 2005 11:37:45 GMT Message-Id: <200508031137.j73Bbj7V080131@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81398 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 11:37:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=81398 Change 81398 by rwatson@rwatson_zoo on 2005/08/03 11:37:01 Integrate netsmp: - stack_save()/subr_stack (cool!) Loop back: - if_addr_mtx and much IF_ADDR_LOCK()/IF_ADDR_UNLOCK() in protocols and device drivers. Affected files ... .. //depot/projects/netsmp/src/sys/alpha/alpha/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/arm/arm/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/conf/files#4 integrate .. //depot/projects/netsmp/src/sys/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/netsmp/src/sys/dev/awi/awi.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ed/if_ed.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/em/if_em.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/ex/if_ex.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/gem/if_gem.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ie/if_ie.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/lnc/if_lnc.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/my/if_my.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/nge/if_nge.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/nve/if_nve.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/owi/if_owi.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/pdq/pdq_ifsubr.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/ray/if_ray.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/sn/if_sn.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/snc/dp83932.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/tx/if_tx.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/txp/if_txp.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_aue.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_axe.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_cue.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_kue.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_udav.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/vge/if_vge.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/netsmp/src/sys/dev/wl/if_wl.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/xe/if_xe.c#3 integrate .. //depot/projects/netsmp/src/sys/i386/i386/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/ia64/ia64/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/kern_malloc.c#3 integrate .. //depot/projects/netsmp/src/sys/kern/kern_switch.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/subr_stack.c#1 branch .. //depot/projects/netsmp/src/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_default.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/netsmp/src/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/netsmp/src/sys/net/if.c#7 integrate .. //depot/projects/netsmp/src/sys/net/if_arcsubr.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_ethersubr.c#4 integrate .. //depot/projects/netsmp/src/sys/net/if_fddisubr.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_var.h#5 integrate .. //depot/projects/netsmp/src/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_parse.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet/in_var.h#6 integrate .. //depot/projects/netsmp/src/sys/netinet6/in6_var.h#6 integrate .. //depot/projects/netsmp/src/sys/netinet6/mld6.c#5 integrate .. //depot/projects/netsmp/src/sys/pci/if_dc.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_de.c#5 integrate .. //depot/projects/netsmp/src/sys/pci/if_pcn.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_rl.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_sf.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_sis.c#4 integrate .. //depot/projects/netsmp/src/sys/pci/if_sk.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_ste.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_ti.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_tl.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_vr.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_wb.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_xl.c#4 integrate .. //depot/projects/netsmp/src/sys/powerpc/powerpc/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/sparc64/sparc64/db_trace.c#2 integrate .. //depot/projects/netsmp/src/sys/sys/lockmgr.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/mutex.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/stack.h#1 branch .. //depot/projects/netsmp/src/sys/sys/vnode.h#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/alpha/alpha/db_trace.c#2 (text+ko) ==== @@ -42,12 +42,14 @@ #include /* RCS ID & Copyright macro defns */ /*__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.9 2000/12/13 03:16:36 mycroft Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.23 2004/11/27 06:51:32 das Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.24 2005/08/03 04:27:38 jeff Exp $"); #include #include #include +#include #include +#include #include #include @@ -348,6 +350,45 @@ count)); } +void +stack_save(struct stack *st) +{ + struct prologue_info pi; + linker_symval_t symval; + c_linker_sym_t sym; + vm_offset_t callpc, frame; + long offset; + register_t pc, sp; + + stack_zero(st); + __asm __volatile( + " mov $30,%0 \n" + " lda %1,1f \n" + "1:\n" + : "=r" (sp), "=r" (pc)); + callpc = (vm_offset_t)pc; + frame = (vm_offset_t)sp; + while (1) { + /* + * search_symbol/symbol_values are slow + */ + if (linker_ddb_search_symbol((caddr_t)callpc, &sym, &offset) != 0) + break; + if (linker_ddb_symbol_values(sym, &symval) != 0) + break; + if (callpc < (vm_offset_t)symval.value) + break; + if (stack_put(st, callpc) == -1) + break; + if (decode_prologue(callpc, (db_addr_t)symval.value, &pi)) + break; + if ((pi.pi_regmask & (1 << 26)) == 0) + break; + callpc = *(vm_offset_t *)(frame + pi.pi_reg_offset[26]); + frame += pi.pi_frame_size; + } +} + int db_md_set_watchpoint(addr, size) db_expr_t addr; ==== //depot/projects/netsmp/src/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.66 2005/01/21 05:54:05 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.68 2005/08/03 04:33:48 jeff Exp $"); #include #include #include #include +#include #include #include @@ -178,7 +179,8 @@ /* * Stack trace. */ -#define INKERNEL(va) (((vm_offset_t)(va)) >= USRSTACK) +#define INKERNEL(va) (((va) >= DMAP_MIN_ADDRESS && (va) < DMAP_MAX_ADDRESS) \ + || (va) >= KERNBASE) struct amd64_frame { struct amd64_frame *f_frame; @@ -494,6 +496,28 @@ ctx->pcb_rip, count)); } +void +stack_save(struct stack *st) +{ + struct amd64_frame *frame; + vm_offset_t callpc; + register_t rbp; + + stack_zero(st); + __asm __volatile("movq %%rbp,%0" : "=r" (rbp)); + frame = (struct amd64_frame *)rbp; + while (1) { + if (!INKERNEL((long)frame)) + break; + callpc = frame->f_retaddr; + if (!INKERNEL(callpc)) + break; + if (stack_put(st, callpc) == -1) + break; + frame = frame->f_frame; + } +} + int amd64_set_watch(watchnum, watchaddr, size, access, d) int watchnum; ==== //depot/projects/netsmp/src/sys/arm/arm/db_trace.c#2 (text+ko) ==== @@ -30,13 +30,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.10 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.11 2005/08/03 04:27:38 jeff Exp $"); #include #include #include #include +#include #include #include #include @@ -219,3 +220,21 @@ { db_trace_thread(curthread, -1); } + +void +stack_save(struct stack *st) +{ + vm_offset_t callpc; + u_int32_t *frame; + + stack_zero(st); + frame = (u_int32_t *)__builtin_frame_address(0); + while (1) { + if (!INKERNEL(frame)) + break; + callpc = frame[FR_SCP]; + if (stack_put(st, callpc) == -1) + break; + frame = (u_int32_t *)(frame[FR_RFP]); + } +} ==== //depot/projects/netsmp/src/sys/conf/files#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1038 2005/07/27 21:47:55 pjd Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1039 2005/08/03 04:27:39 jeff Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1259,6 +1259,7 @@ kern/subr_scanf.c standard kern/subr_sleepqueue.c standard kern/subr_smp.c standard +kern/subr_stack.c optional ddb kern/subr_taskqueue.c standard kern/subr_trap.c standard kern/subr_turnstile.c standard ==== //depot/projects/netsmp/src/sys/dev/aic7xxx/aicasm/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # $Id: //depot/aic7xxx/freebsd/dev/aic7xxx/aicasm/Makefile#2 $ # -# $FreeBSD: src/sys/dev/aic7xxx/aicasm/Makefile,v 1.20 2004/12/21 08:47:19 ru Exp $ +# $FreeBSD: src/sys/dev/aic7xxx/aicasm/Makefile,v 1.22 2005/08/03 00:47:33 rwatson Exp $ PROG= aicasm ==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#6 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.98 2005/07/24 05:11:39 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.99 2005/08/03 00:18:28 rwatson Exp $"); /* * Driver for the Atheros Wireless LAN controller. ==== //depot/projects/netsmp/src/sys/dev/awi/awi.c#4 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.38 2005/07/22 16:50:18 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.39 2005/08/03 00:18:28 rwatson Exp $"); #endif #include "opt_inet.h" ==== //depot/projects/netsmp/src/sys/dev/bfe/if_bfe.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.25 2005/06/10 16:49:05 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.26 2005/08/03 00:18:28 rwatson Exp $"); #include #include ==== //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91 2005/06/24 21:43:46 dwhite Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.92 2005/08/03 00:18:29 rwatson Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. ==== //depot/projects/netsmp/src/sys/dev/ed/if_ed.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.254 2005/06/15 20:23:40 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.255 2005/08/03 00:18:29 rwatson Exp $"); /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet ==== //depot/projects/netsmp/src/sys/dev/em/if_em.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.66 2005/08/02 08:44:45 ru Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.67 2005/08/03 00:18:29 rwatson Exp $*/ #include ==== //depot/projects/netsmp/src/sys/dev/ex/if_ex.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ex/if_ex.c,v 1.56 2005/06/10 16:49:08 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ex/if_ex.c,v 1.57 2005/08/03 00:18:29 rwatson Exp $"); /* * Intel EtherExpress Pro/10, Pro/10+ Ethernet driver ==== //depot/projects/netsmp/src/sys/dev/fe/if_fe.c#3 (text+ko) ==== @@ -21,7 +21,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe.c,v 1.91 2005/06/10 16:49:08 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe.c,v 1.92 2005/08/03 00:18:30 rwatson Exp $"); /* * ==== //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.241 2005/07/29 22:40:06 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.242 2005/08/03 00:18:30 rwatson Exp $"); /* * Intel EtherExpress Pro/100B PCI Fast Ethernet driver ==== //depot/projects/netsmp/src/sys/dev/gem/if_gem.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/gem/if_gem.c,v 1.31 2005/07/24 18:45:15 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/gem/if_gem.c,v 1.32 2005/08/03 00:18:30 rwatson Exp $"); /* * Driver for Sun GEM ethernet controllers. ==== //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hme/if_hme.c,v 1.37 2005/06/10 16:49:10 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hme/if_hme.c,v 1.38 2005/08/03 00:18:30 rwatson Exp $"); /* * HME Ethernet module driver. ==== //depot/projects/netsmp/src/sys/dev/ie/if_ie.c#3 (text+ko) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ie/if_ie.c,v 1.102 2005/06/10 16:49:10 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ie/if_ie.c,v 1.103 2005/08/03 00:18:30 rwatson Exp $"); /* * Intel 82586 Ethernet chip ==== //depot/projects/netsmp/src/sys/dev/if_ndis/if_ndis.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.99 2005/06/14 17:47:31 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.100 2005/08/03 00:18:31 rwatson Exp $"); #include "opt_bdg.h" ==== //depot/projects/netsmp/src/sys/dev/ixgb/if_ixgb.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/ixgb/if_ixgb.c,v 1.11 2005/08/02 09:27:42 brueffer Exp $*/ +/*$FreeBSD: src/sys/dev/ixgb/if_ixgb.c,v 1.12 2005/08/03 00:18:31 rwatson Exp $*/ #include ==== //depot/projects/netsmp/src/sys/dev/lge/if_lge.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.39 2005/06/10 16:49:11 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.40 2005/08/03 00:18:31 rwatson Exp $"); /* * Level 1 LXT1001 gigabit ethernet driver for FreeBSD. Public ==== //depot/projects/netsmp/src/sys/dev/lnc/if_lnc.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.111 2005/06/10 16:49:11 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/lnc/if_lnc.c,v 1.112 2005/08/03 00:18:31 rwatson Exp $"); /* #define DIAGNOSTIC ==== //depot/projects/netsmp/src/sys/dev/my/if_my.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/my/if_my.c,v 1.29 2005/06/10 16:49:12 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/my/if_my.c,v 1.30 2005/08/03 00:18:31 rwatson Exp $"); #include #include ==== //depot/projects/netsmp/src/sys/dev/nge/if_nge.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.75 2005/06/10 16:49:12 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.76 2005/08/03 00:18:31 rwatson Exp $"); /* * National Semiconductor DP83820/DP83821 gigabit ethernet driver ==== //depot/projects/netsmp/src/sys/dev/nve/if_nve.c#4 (text+ko) ==== @@ -74,7 +74,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nve/if_nve.c,v 1.8 2005/07/25 22:21:11 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nve/if_nve.c,v 1.9 2005/08/03 00:18:32 rwatson Exp $"); #include #include ==== //depot/projects/netsmp/src/sys/dev/owi/if_owi.c#4 (text+ko) ==== @@ -100,7 +100,7 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD: src/sys/dev/owi/if_owi.c,v 1.10 2005/08/01 13:51:52 avatar Exp $"; + "$FreeBSD: src/sys/dev/owi/if_owi.c,v 1.11 2005/08/03 00:18:32 rwatson Exp $"; #endif static void wi_intr(void *); ==== //depot/projects/netsmp/src/sys/dev/pdq/pdq_ifsubr.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pdq/pdq_ifsubr.c,v 1.26 2005/06/10 16:49:13 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pdq/pdq_ifsubr.c,v 1.27 2005/08/03 00:18:32 rwatson Exp $"); /* * DEC PDQ FDDI Controller; code for BSD derived operating systems ==== //depot/projects/netsmp/src/sys/dev/ray/if_ray.c#3 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ray/if_ray.c,v 1.79 2005/06/10 16:49:13 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ray/if_ray.c,v 1.80 2005/08/03 00:18:32 rwatson Exp $"); /* * Card configuration @@ -2708,6 +2708,7 @@ TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) count++; if (count == 0) { + IF_ADDR_UNLOCK(ifp); ray_com_runq_done(sc); return; } else if (count > 16) { ==== //depot/projects/netsmp/src/sys/dev/re/if_re.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.46 2005/07/01 04:12:42 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.47 2005/08/03 00:18:32 rwatson Exp $"); /* * RealTek 8139C+/8169/8169S/8110S PCI NIC driver ==== //depot/projects/netsmp/src/sys/dev/sn/if_sn.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sn/if_sn.c,v 1.46 2005/07/18 23:41:34 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sn/if_sn.c,v 1.47 2005/08/03 00:18:33 rwatson Exp $"); /* * This is a driver for SMC's 9000 series of Ethernet adapters. @@ -1412,8 +1412,10 @@ IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { - if (ifma->ifma_addr->sa_family != AF_LINK) + if (ifma->ifma_addr->sa_family != AF_LINK) { + IF_ADDR_UNLOCK(ifp); return 0; + } index = ether_crc32_le(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), ETHER_ADDR_LEN) & 0x3f; index2 = 0; ==== //depot/projects/netsmp/src/sys/dev/snc/dp83932.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/snc/dp83932.c,v 1.19 2005/06/12 15:25:19 scottl Exp $ */ +/* $FreeBSD: src/sys/dev/snc/dp83932.c,v 1.20 2005/08/03 00:18:33 rwatson Exp $ */ /* $NecBSD: dp83932.c,v 1.5 1999/07/29 05:08:44 kmatsuda Exp $ */ /* $NetBSD: if_snc.c,v 1.18 1998/04/25 21:27:40 scottr Exp $ */ ==== //depot/projects/netsmp/src/sys/dev/tx/if_tx.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.89 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/tx/if_tx.c,v 1.90 2005/08/03 00:18:33 rwatson Exp $"); /* * EtherPower II 10/100 Fast Ethernet (SMC 9432 serie) ==== //depot/projects/netsmp/src/sys/dev/txp/if_txp.c#3 (text+ko) ==== @@ -35,14 +35,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.31 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.32 2005/08/03 00:18:33 rwatson Exp $"); /* * Driver for 3c990 (Typhoon) Ethernet ASIC */ #include -__FBSDID("$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.31 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.32 2005/08/03 00:18:33 rwatson Exp $"); #include #include @@ -92,7 +92,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.31 2005/06/10 16:49:15 brooks Exp $"; + "$FreeBSD: src/sys/dev/txp/if_txp.c,v 1.32 2005/08/03 00:18:33 rwatson Exp $"; #endif /* ==== //depot/projects/netsmp/src/sys/dev/usb/if_aue.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_aue.c,v 1.90 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_aue.c,v 1.91 2005/08/03 00:18:33 rwatson Exp $"); /* * ADMtek AN986 Pegasus and AN8511 Pegasus II USB to ethernet driver. ==== //depot/projects/netsmp/src/sys/dev/usb/if_axe.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_axe.c,v 1.30 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_axe.c,v 1.31 2005/08/03 00:18:33 rwatson Exp $"); /* * ASIX Electronics AX88172 USB 2.0 ethernet driver. Used in the ==== //depot/projects/netsmp/src/sys/dev/usb/if_cue.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_cue.c,v 1.57 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_cue.c,v 1.58 2005/08/03 00:18:33 rwatson Exp $"); /* * CATC USB-EL1210A USB to ethernet driver. Used in the CATC Netmate ==== //depot/projects/netsmp/src/sys/dev/usb/if_kue.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_kue.c,v 1.64 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_kue.c,v 1.65 2005/08/03 00:18:33 rwatson Exp $"); /* * Kawasaki LSI KL5KUSB101B USB to ethernet adapter driver. ==== //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#4 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.21 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.22 2005/08/03 00:18:33 rwatson Exp $"); /* * RealTek RTL8150 USB to fast ethernet controller driver. ==== //depot/projects/netsmp/src/sys/dev/usb/if_udav.c#3 (text+ko) ==== @@ -1,6 +1,6 @@ /* $NetBSD: if_udav.c,v 1.2 2003/09/04 15:17:38 tsutsui Exp $ */ /* $nabe: if_udav.c,v 1.3 2003/08/21 16:57:19 nabe Exp $ */ -/* $FreeBSD: src/sys/dev/usb/if_udav.c,v 1.14 2005/06/10 16:49:15 brooks Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_udav.c,v 1.15 2005/08/03 00:18:33 rwatson Exp $ */ /*- * Copyright (c) 2003 * Shingo WATANABE . All rights reserved. @@ -45,7 +45,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_udav.c,v 1.14 2005/06/10 16:49:15 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_udav.c,v 1.15 2005/08/03 00:18:33 rwatson Exp $"); #include "opt_inet.h" #if defined(__NetBSD__) ==== //depot/projects/netsmp/src/sys/dev/vge/if_vge.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/vge/if_vge.c,v 1.14 2005/06/11 01:37:46 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/vge/if_vge.c,v 1.15 2005/08/03 00:18:34 rwatson Exp $"); /* * VIA Networking Technologies VT612x PCI gigabit ethernet NIC driver. ==== //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#4 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.181 2005/07/22 16:50:17 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.182 2005/08/03 00:18:34 rwatson Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ ==== //depot/projects/netsmp/src/sys/dev/wl/if_wl.c#3 (text+ko) ==== @@ -173,7 +173,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wl/if_wl.c,v 1.66 2005/06/10 16:49:17 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wl/if_wl.c,v 1.67 2005/08/03 00:18:34 rwatson Exp $"); /* ==== //depot/projects/netsmp/src/sys/dev/xe/if_xe.c#3 (text+ko) ==== @@ -57,7 +57,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/xe/if_xe.c,v 1.57 2005/07/15 06:08:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/xe/if_xe.c,v 1.58 2005/08/03 00:18:34 rwatson Exp $"); /* * FreeBSD device driver for Xircom CreditCard PCMCIA Ethernet adapters. The ==== //depot/projects/netsmp/src/sys/i386/i386/db_trace.c#2 (text+ko) ==== @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/db_trace.c,v 1.66 2005/01/18 03:48:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/db_trace.c,v 1.67 2005/08/03 04:27:39 jeff Exp $"); #include #include #include #include +#include #include #include @@ -500,6 +501,28 @@ ctx->pcb_eip, count)); } +void +stack_save(struct stack *st) +{ + struct i386_frame *frame; + vm_offset_t callpc; + register_t ebp; + + stack_zero(st); + __asm __volatile("movl %%ebp,%0" : "=r" (ebp)); + frame = (struct i386_frame *)ebp; + while (1) { + if (!INKERNEL(frame)) + break; + callpc = frame->f_retaddr; + if (!INKERNEL(callpc)) + break; + if (stack_put(st, callpc) == -1) + break; + frame = frame->f_frame; + } +} + int i386_set_watch(watchnum, watchaddr, size, access, d) int watchnum; ==== //depot/projects/netsmp/src/sys/ia64/ia64/db_trace.c#2 (text+ko) ==== @@ -24,12 +24,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/db_trace.c,v 1.23 2005/04/16 05:38:59 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/db_trace.c,v 1.24 2005/08/03 04:27:39 jeff Exp $ */ #include #include #include +#include #include #include @@ -148,6 +149,18 @@ return (db_backtrace(td, ctx, count)); } +void +stack_save(struct stack *st) +{ + + stack_zero(st); + /* + * Nothing for now. + * Is libuwx reentrant? + * Can unw_create* sleep? + */ +} + int db_md_set_watchpoint(addr, size) db_expr_t addr; ==== //depot/projects/netsmp/src/sys/kern/kern_lock.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.89 2005/04/12 05:43:03 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.91 2005/08/03 04:59:07 jeff Exp $"); #include #include @@ -51,6 +51,10 @@ #include #include #include +#ifdef DEBUG_LOCKS +#include +#include +#endif /* * Locking primitives implementation. @@ -138,20 +142,11 @@ * accepted shared locks and shared-to-exclusive upgrades to go away. */ int -#ifndef DEBUG_LOCKS lockmgr(lkp, flags, interlkp, td) -#else -debuglockmgr(lkp, flags, interlkp, td, name, file, line) -#endif struct lock *lkp; u_int flags; struct mtx *interlkp; struct thread *td; -#ifdef DEBUG_LOCKS - const char *name; /* Name of lock function */ - const char *file; /* Name of file call is from */ - int line; /* Line number in file */ -#endif { int error; struct thread *thr; @@ -165,15 +160,16 @@ if ((flags & LK_INTERNAL) == 0) mtx_lock(lkp->lk_interlock); -#ifdef DEBUG_LOCKS CTR6(KTR_LOCK, - "lockmgr(): lkp == %p (lk_wmesg == \"%s\"), flags == 0x%x, " - "td == %p %s:%d", lkp, lkp->lk_wmesg, flags, td, file, line); -#else - CTR6(KTR_LOCK, "lockmgr(): lkp == %p (lk_wmesg == \"%s\"), owner == %p, exclusivecount == %d, flags == 0x%x, " "td == %p", lkp, lkp->lk_wmesg, lkp->lk_lockholder, lkp->lk_exclusivecount, flags, td); +#ifdef DEBUG_LOCKS + { + struct stack stack; /* XXX */ + stack_save(&stack); + CTRSTACK(KTR_LOCK, &stack, 1); + } #endif if (flags & LK_INTERLOCK) { @@ -218,10 +214,7 @@ break; sharelock(td, lkp, 1); #if defined(DEBUG_LOCKS) - lkp->lk_slockholder = thr; - lkp->lk_sfilename = file; - lkp->lk_slineno = line; - lkp->lk_slockername = name; + stack_save(&lkp->lk_stack); #endif break; } @@ -304,9 +297,7 @@ lkp->lk_exclusivecount = 1; COUNT(td, 1); #if defined(DEBUG_LOCKS) - lkp->lk_filename = file; - lkp->lk_lineno = line; - lkp->lk_lockername = name; + stack_save(&lkp->lk_stack); #endif break; } @@ -365,9 +356,7 @@ lkp->lk_exclusivecount = 1; COUNT(td, 1); #if defined(DEBUG_LOCKS) - lkp->lk_filename = file; - lkp->lk_lineno = line; - lkp->lk_lockername = name; + stack_save(&lkp->lk_stack); #endif break; @@ -412,9 +401,7 @@ lkp->lk_exclusivecount = 1; COUNT(td, 1); #if defined(DEBUG_LOCKS) - lkp->lk_filename = file; - lkp->lk_lineno = line; - lkp->lk_lockername = name; + stack_save(&lkp->lk_stack); #endif break; @@ -508,13 +495,7 @@ lkp->lk_lockholder = LK_NOPROC; lkp->lk_newlock = NULL; #ifdef DEBUG_LOCKS - lkp->lk_filename = "none"; - lkp->lk_lockername = "never exclusive locked"; - lkp->lk_lineno = 0; - lkp->lk_slockholder = LK_NOPROC; - lkp->lk_sfilename = "none"; - lkp->lk_slockername = "never share locked"; - lkp->lk_slineno = 0; + stack_zero(&lkp->lk_stack); #endif } @@ -584,4 +565,7 @@ lkp->lk_lockholder, lkp->lk_lockholder->td_proc->p_pid); if (lkp->lk_waitcount > 0) printf(" with %d pending", lkp->lk_waitcount); +#ifdef DEBUG_LOCKS + stack_print(&lkp->lk_stack); +#endif } ==== //depot/projects/netsmp/src/sys/kern/kern_malloc.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 3 11:52:04 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55E8F16A421; Wed, 3 Aug 2005 11:52:04 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2ACD316A41F for ; Wed, 3 Aug 2005 11:52:04 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBD4343D45 for ; Wed, 3 Aug 2005 11:52:03 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73Bq3ib080664 for ; Wed, 3 Aug 2005 11:52:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73Bq31C080661 for perforce@freebsd.org; Wed, 3 Aug 2005 11:52:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 3 Aug 2005 11:52:03 GMT Message-Id: <200508031152.j73Bq31C080661@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 11:52:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=81399 Change 81399 by rwatson@rwatson_zoo on 2005/08/03 11:51:42 When I merged the addition of if_addr_mtx to CVS, I moved it from part-way through the data structure to the end for ABI reasons. When I integrated, both instances remained, so remove the one in the middle, since the one at the end is preferred. Affected files ... .. //depot/projects/netsmp/src/sys/net/if_var.h#6 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if_var.h#6 (text+ko) ==== @@ -177,7 +177,6 @@ void *if_afdata[AF_MAX]; int if_afdata_initialized; struct mtx if_afdata_mtx; - struct mtx if_addr_mtx; /* mutex to protect address lists */ struct task if_starttask; /* task for IFF_NEEDSGIANT */ struct task if_linktask; /* task for link change events */ struct mtx if_addr_mtx; /* mutex to protect address lists */ From owner-p4-projects@FreeBSD.ORG Wed Aug 3 12:53:18 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6EEA716A421; Wed, 3 Aug 2005 12:53:18 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 420BD16A41F for ; Wed, 3 Aug 2005 12:53:18 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E62D243D45 for ; Wed, 3 Aug 2005 12:53:17 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73CrHNm089745 for ; Wed, 3 Aug 2005 12:53:17 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73CrHS5089742 for perforce@freebsd.org; Wed, 3 Aug 2005 12:53:17 GMT (envelope-from soc-bushman@freebsd.org) Date: Wed, 3 Aug 2005 12:53:17 GMT Message-Id: <200508031253.j73CrHS5089742@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 81400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 12:53:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=81400 Change 81400 by soc-bushman@soc-bushman_stinger on 2005/08/03 12:52:32 cached and cachelib were placed into the projects' root Affected files ... .. //depot/projects/soc2005/nsswitch_cached/Makefile#3 add .. //depot/projects/soc2005/nsswitch_cached/cached/Makefile#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/cached.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/config.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/config.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/debug.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/debug.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/log.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/log.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/query.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/query.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/singletons.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/singletons.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/Makefile#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/cachelib.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/hashfuncs.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/hashfuncs.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/hashtable.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/hashtable.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/include/cachelib.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/policies.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cachelib/policies.h#1 add .. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#4 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#4 (text+ko) ==== @@ -54,6 +54,10 @@ USE_NSSWITCH= yes +.if defined(USE_NSSWITCH) +CFLAGS+= -DUSE_NSSWITCH +.endif + USE_AUTOCONF_VER= 253 AUTOCONF_ARGS+= -o configure configure.ac From owner-p4-projects@FreeBSD.ORG Wed Aug 3 15:33:58 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B77CD16A421; Wed, 3 Aug 2005 15:33:57 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B24616A41F for ; Wed, 3 Aug 2005 15:33:57 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 576A943D45 for ; Wed, 3 Aug 2005 15:33:57 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73FXv1p095743 for ; Wed, 3 Aug 2005 15:33:57 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73FXv0O095740 for perforce@freebsd.org; Wed, 3 Aug 2005 15:33:57 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 3 Aug 2005 15:33:57 GMT Message-Id: <200508031533.j73FXv0O095740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81405 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 15:33:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=81405 Change 81405 by rwatson@rwatson_zoo on 2005/08/03 15:33:23 Mark if_addr_mtx as recursive due to reentrance into IP from igmp. Need to think through this one. Affected files ... .. //depot/projects/netsmp/src/sys/net/if_var.h#7 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if_var.h#7 (text+ko) ==== @@ -221,7 +221,7 @@ * Locks for address lists on the network interface. */ #define IF_ADDR_LOCK_INIT(if) mtx_init(&(if)->if_addr_mtx, \ - "if_addr_mtx", NULL, MTX_DEF) + "if_addr_mtx", NULL, MTX_DEF | MTX_RECURSE) #define IF_ADDR_LOCK_DESTROY(if) mtx_destroy(&(if)->if_addr_mtx) #define IF_ADDR_LOCK(if) mtx_lock(&(if)->if_addr_mtx) #define IF_ADDR_UNLOCK(if) mtx_unlock(&(if)->if_addr_mtx) From owner-p4-projects@FreeBSD.ORG Wed Aug 3 16:43:23 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A19516A422; Wed, 3 Aug 2005 16:43:22 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 63C8216A41F for ; Wed, 3 Aug 2005 16:43:22 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0CE0443D49 for ; Wed, 3 Aug 2005 16:43:22 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73GhLRp098056 for ; Wed, 3 Aug 2005 16:43:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73GhLiE098053 for perforce@freebsd.org; Wed, 3 Aug 2005 16:43:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 3 Aug 2005 16:43:21 GMT Message-Id: <200508031643.j73GhLiE098053@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 16:43:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=81406 Change 81406 by rwatson@rwatson_zoo on 2005/08/03 16:42:19 Integrate netsmp. Affected files ... .. //depot/projects/netsmp/src/sys/dev/an/if_an_isa.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt_cam.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt_raid.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/mpt/mpt_raid.h#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/dev/an/if_an_isa.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/an/if_an_isa.c,v 1.15 2005/01/06 01:42:28 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/an/if_an_isa.c,v 1.16 2005/08/03 15:07:14 imp Exp $"); #include "opt_inet.h" @@ -77,12 +77,11 @@ { 0, NULL } }; -static int an_probe_isa (device_t); -static int an_attach_isa (device_t); +static int an_probe_isa(device_t); +static int an_attach_isa(device_t); static int -an_probe_isa(dev) - device_t dev; +an_probe_isa(device_t dev) { int error = 0; @@ -103,8 +102,7 @@ } static int -an_attach_isa(dev) - device_t dev; +an_attach_isa(device_t dev) { struct an_softc *sc = device_get_softc(dev); int flags = device_get_flags(dev); ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt.c#2 (text+ko) ==== @@ -43,9 +43,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -61,7 +61,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt.c,v 1.12 2005/07/10 15:05:38 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt.c,v 1.13 2005/08/03 14:08:41 gibbs Exp $"); #include #include /* XXX For static handler registration */ ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/mpt/mpt.h,v 1.6 2005/07/10 15:05:38 scottl Exp $ */ +/* $FreeBSD: src/sys/dev/mpt/mpt.h,v 1.7 2005/08/03 14:08:41 gibbs Exp $ */ /*- * Generic defines for LSI '909 FC adapters. * FreeBSD Version. @@ -44,9 +44,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt_cam.c#2 (text+ko) ==== @@ -43,9 +43,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -60,7 +60,7 @@ * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_cam.c,v 1.1 2005/07/10 15:05:38 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_cam.c,v 1.2 2005/08/03 14:08:41 gibbs Exp $"); #include #include ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt_cam.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/mpt/mpt_cam.h,v 1.1 2005/07/10 15:05:38 scottl Exp $ */ +/* $FreeBSD: src/sys/dev/mpt/mpt_cam.h,v 1.2 2005/08/03 14:08:41 gibbs Exp $ */ /*- * LSI MPT Host Adapter FreeBSD Wrapper Definitions (CAM version) * @@ -43,9 +43,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt_pci.c#2 (text+ko) ==== @@ -45,9 +45,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.20 2005/07/10 15:05:38 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.21 2005/08/03 14:08:41 gibbs Exp $"); #include #include ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt_raid.c#2 (text+ko) ==== @@ -15,9 +15,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_raid.c,v 1.1 2005/07/10 15:05:38 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_raid.c,v 1.2 2005/08/03 14:08:41 gibbs Exp $"); #include #include ==== //depot/projects/netsmp/src/sys/dev/mpt/mpt_raid.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/mpt/mpt_raid.h,v 1.1 2005/07/10 15:05:38 scottl Exp $ */ +/* $FreeBSD: src/sys/dev/mpt/mpt_raid.h,v 1.2 2005/08/03 14:08:41 gibbs Exp $ */ /*- * Definitions for the integrated RAID features LSI MPT Fusion adapters. * @@ -16,9 +16,9 @@ * ("Disclaimer") and any redistribution must be conditioned upon including * a substantially similar Disclaimer requirement for further binary * redistribution. - * 3. Neither the name of the LSI Logic Corporation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. + * 3. Neither the names of the above listed copyright holders nor the names + * of any contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE From owner-p4-projects@FreeBSD.ORG Wed Aug 3 16:48:35 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8720616A421; Wed, 3 Aug 2005 16:48:34 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4A2EC16A41F for ; Wed, 3 Aug 2005 16:48:34 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D01643D70 for ; Wed, 3 Aug 2005 16:48:28 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73GmSRQ005329 for ; Wed, 3 Aug 2005 16:48:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73GmSXd005326 for perforce@freebsd.org; Wed, 3 Aug 2005 16:48:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 3 Aug 2005 16:48:28 GMT Message-Id: <200508031648.j73GmSXd005326@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81407 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 16:48:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=81407 Change 81407 by rwatson@rwatson_zoo on 2005/08/03 16:48:09 Mark in_multi_mtx as recursible instead of if_addr_mtx, that's what I meant to do before. This is necessary because IGMP calls into ip_output() to send out packets while holding the in_multi_mtx, but ip_output() has to acquire it to perform address checks. Really, this suggests IGMP shouldn't reenter the network code quite as much as it does. Affected files ... .. //depot/projects/netsmp/src/sys/net/if_var.h#8 edit .. //depot/projects/netsmp/src/sys/netinet/in.c#5 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if_var.h#8 (text+ko) ==== @@ -221,7 +221,7 @@ * Locks for address lists on the network interface. */ #define IF_ADDR_LOCK_INIT(if) mtx_init(&(if)->if_addr_mtx, \ - "if_addr_mtx", NULL, MTX_DEF | MTX_RECURSE) + "if_addr_mtx", NULL, MTX_DEF) #define IF_ADDR_LOCK_DESTROY(if) mtx_destroy(&(if)->if_addr_mtx) #define IF_ADDR_LOCK(if) mtx_lock(&(if)->if_addr_mtx) #define IF_ADDR_UNLOCK(if) mtx_unlock(&(if)->if_addr_mtx) ==== //depot/projects/netsmp/src/sys/netinet/in.c#5 (text+ko) ==== @@ -69,13 +69,15 @@ &subnetsarelocal, 0, "Treat all subnets as directly connected"); /* - * The IPv4 multicast list (in_multihead and associated structures) - * are protected by the global in_multi_mtx. See in_var.h for - * more details. + * The IPv4 multicast list (in_multihead and associated structures) are + * protected by the global in_multi_mtx. See in_var.h for more details. For + * now, in_multi_mtx is marked as recursible due to IGMP's calling back into + * ip_output() to send IGMP packets while holding the lock; this probably is + * not quite desirable. */ struct in_multihead in_multihead; /* XXX BSS initialization */ struct mtx in_multi_mtx; -MTX_SYSINIT(in_multi_mtx, &in_multi_mtx, "in_multi_mtx", MTX_DEF); +MTX_SYSINIT(in_multi_mtx, &in_multi_mtx, "in_multi_mtx", MTX_DEF | MTX_RECURSE); extern struct inpcbinfo ripcbinfo; extern struct inpcbinfo udbinfo; From owner-p4-projects@FreeBSD.ORG Wed Aug 3 16:53:36 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B13C016A421; Wed, 3 Aug 2005 16:53:35 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8131116A41F for ; Wed, 3 Aug 2005 16:53:35 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B9CB43D45 for ; Wed, 3 Aug 2005 16:53:35 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73GrZqf005558 for ; Wed, 3 Aug 2005 16:53:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73GrZjw005555 for perforce@freebsd.org; Wed, 3 Aug 2005 16:53:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 3 Aug 2005 16:53:35 GMT Message-Id: <200508031653.j73GrZjw005555@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81408 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 16:53:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=81408 Change 81408 by rwatson@rwatson_zoo on 2005/08/03 16:52:45 Remove stale comment about the caller needing to acquire the if_addr_mtx when walking address lists -- the in_multi macros now do this themselves. Remove stale comment to check whether we need to hold in_multi_mtx over the ip_mforward() path -- we don't, it would be a bad idea due to recursion. Affected files ... .. //depot/projects/netsmp/src/sys/netinet/in_var.h#7 edit .. //depot/projects/netsmp/src/sys/netinet/ip_output.c#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/netinet/in_var.h#7 (text+ko) ==== @@ -188,8 +188,6 @@ /* * Macro for looking up the in_multi record for a given IP multicast address * on a given interface. If no matching record is found, "inm" is set null. - * - * Caller must hold IF_ADDR_LOCK(). */ #define IN_LOOKUP_MULTI(addr, ifp, inm) \ /* struct in_addr addr; */ \ ==== //depot/projects/netsmp/src/sys/netinet/ip_output.c#3 (text+ko) ==== @@ -291,10 +291,6 @@ ip->ip_src = IA_SIN(ia)->sin_addr; } - /* - * XXXRW: Should the in_multi_mtx be held over - * ip_mloopback() or ip_mforward()? - */ IN_MULTI_LOCK(); IN_LOOKUP_MULTI(ip->ip_dst, ifp, inm); if (inm != NULL && From owner-p4-projects@FreeBSD.ORG Wed Aug 3 20:55:33 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 138FE16A422; Wed, 3 Aug 2005 20:55:33 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C445516A41F for ; Wed, 3 Aug 2005 20:55:32 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF10943D58 for ; Wed, 3 Aug 2005 20:55:31 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73KtVbf021830 for ; Wed, 3 Aug 2005 20:55:31 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73KtVtq021827 for perforce@freebsd.org; Wed, 3 Aug 2005 20:55:31 GMT (envelope-from soc-andrew@freebsd.org) Date: Wed, 3 Aug 2005 20:55:31 GMT Message-Id: <200508032055.j73KtVtq021827@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81416 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 20:55:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=81416 Change 81416 by soc-andrew@soc-andrew_serv on 2005/08/03 20:54:50 Add the ports tree to disk1 Affected files ... .. //depot/projects/soc2005/bsdinstaller/scripts/build_release.sh#4 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/scripts/build_release.sh#4 (text+ko) ==== @@ -13,6 +13,6 @@ cd ${SRC_DIR}/release -sudo make release CHROOTDIR=${CHROOTDIR} CVSROOT=${CVSROOT} BUILDNAME=${BUILDNAME} LOCAL_PATCHES=${PATCH_DIR}/bsd_install.diff LOCAL_SCRIPT=${PATCH_DIR}/local_script.sh -DMAKE_ISOS -DNODOC -DNOPORTS -DBSDINSTALLER KERNELS=NOPREEMPTION +sudo make release CHROOTDIR=${CHROOTDIR} CVSROOT=${CVSROOT} BUILDNAME=${BUILDNAME} LOCAL_PATCHES=${PATCH_DIR}/bsd_install.diff LOCAL_SCRIPT=${PATCH_DIR}/local_script.sh -DMAKE_ISOS -DNODOC -DNOPORTREADMES -DBSDINSTALLER KERNELS=NOPREEMPTION cd $WD From owner-p4-projects@FreeBSD.ORG Wed Aug 3 22:26:24 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E793B16A429; Wed, 3 Aug 2005 22:26:23 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A290B16A468 for ; Wed, 3 Aug 2005 22:26:23 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0406D43D46 for ; Wed, 3 Aug 2005 22:26:23 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73MQMah025020 for ; Wed, 3 Aug 2005 22:26:22 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73MQLql025017 for perforce@freebsd.org; Wed, 3 Aug 2005 22:26:21 GMT (envelope-from peter@freebsd.org) Date: Wed, 3 Aug 2005 22:26:21 GMT Message-Id: <200508032226.j73MQLql025017@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 81418 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 22:26:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=81418 Change 81418 by peter@peter_overcee on 2005/08/03 22:25:28 IFC @81417 Affected files ... .. //depot/projects/hammer/Makefile#35 integrate .. //depot/projects/hammer/Makefile.inc1#101 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#3 integrate .. //depot/projects/hammer/bin/csh/Makefile#8 integrate .. //depot/projects/hammer/bin/csh/USD.doc/csh.2#4 integrate .. //depot/projects/hammer/bin/dd/dd.1#11 integrate .. //depot/projects/hammer/contrib/amd/scripts/amd.conf.5#7 integrate .. //depot/projects/hammer/contrib/cvs/man/cvs.1#5 integrate .. //depot/projects/hammer/contrib/opie/libopie/readrec.c#2 integrate .. //depot/projects/hammer/contrib/opie/libopie/writerec.c#2 integrate .. //depot/projects/hammer/contrib/smbfs/lib/smb/ctx.c#5 integrate .. //depot/projects/hammer/contrib/smbfs/smbutil/dumptree.c#2 integrate .. //depot/projects/hammer/contrib/wpa_supplicant/wpa_supplicant.c#4 integrate .. //depot/projects/hammer/etc/devd.conf#22 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#34 integrate .. //depot/projects/hammer/gnu/usr.bin/Makefile#12 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/kgdb.1#5 integrate .. //depot/projects/hammer/include/Makefile#45 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.3#9 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.3#16 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#21 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_pax.c#20 integrate .. //depot/projects/hammer/lib/libarchive/libarchive-formats.5#8 integrate .. //depot/projects/hammer/lib/libautofs/libautofs.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/syslog.c#10 integrate .. //depot/projects/hammer/lib/libc/gen/usleep.c#3 integrate .. //depot/projects/hammer/lib/libc/include/namespace.h#8 integrate .. //depot/projects/hammer/lib/libc/include/un-namespace.h#7 integrate .. //depot/projects/hammer/lib/libc/net/inet6_rth_space.3#9 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get_entry.3#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/mac.3#8 integrate .. //depot/projects/hammer/lib/libc/posix1e/mac_prepare.3#6 integrate .. //depot/projects/hammer/lib/libc/stdtime/strftime.3#8 integrate .. //depot/projects/hammer/lib/libc/sys/kse.2#8 integrate .. //depot/projects/hammer/lib/libc/sys/read.2#12 integrate .. //depot/projects/hammer/lib/libc/sys/recv.2#9 integrate .. //depot/projects/hammer/lib/libc/sys/uuidgen.2#5 integrate .. //depot/projects/hammer/lib/libmemstat/libmemstat.3#4 integrate .. //depot/projects/hammer/lib/libmemstat/memstat.c#4 integrate .. //depot/projects/hammer/lib/libmemstat/memstat.h#4 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_all.c#2 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_internal.h#4 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_malloc.c#4 integrate .. //depot/projects/hammer/lib/libmemstat/memstat_uma.c#5 integrate .. //depot/projects/hammer/lib/libpthread/arch/i386/i386/pthread_md.c#12 integrate .. //depot/projects/hammer/lib/libpthread/pthread.map#13 integrate .. //depot/projects/hammer/lib/libpthread/sys/lock.c#9 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_sleep.c#5 integrate .. //depot/projects/hammer/lib/libthr/pthread.map#3 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_syscalls.c#9 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_umtx.h#2 integrate .. //depot/projects/hammer/sbin/ccdconfig/ccdconfig.8#11 integrate .. //depot/projects/hammer/sbin/dhclient/bpf.c#3 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient.c#5 integrate .. //depot/projects/hammer/sbin/dump/dump.8#14 integrate .. //depot/projects/hammer/sbin/geom/class/Makefile#6 integrate .. //depot/projects/hammer/sbin/geom/class/eli/Makefile#1 branch .. //depot/projects/hammer/sbin/geom/class/eli/geli.8#1 branch .. //depot/projects/hammer/sbin/geom/class/eli/geom_eli.c#1 branch .. //depot/projects/hammer/sbin/ggate/ggatec/ggatec.8#4 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#27 integrate .. //depot/projects/hammer/sbin/ifconfig/ifieee80211.c#15 integrate .. //depot/projects/hammer/sbin/reboot/boot_i386.8#11 integrate .. //depot/projects/hammer/secure/lib/libssl/Makefile#10 integrate .. //depot/projects/hammer/share/Makefile#7 integrate .. //depot/projects/hammer/share/doc/papers/Makefile#6 integrate .. //depot/projects/hammer/share/doc/papers/px/Makefile#4 delete .. //depot/projects/hammer/share/doc/papers/px/fig1.1.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/fig1.2.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/fig1.3.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/fig2.3.raw#2 delete .. //depot/projects/hammer/share/doc/papers/px/fig2.4.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/fig3.2.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/fig3.3.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/pxin0.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/pxin1.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/pxin2.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/pxin3.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/pxin4.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/table2.1.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/table2.2.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/table2.3.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/table3.1.n#2 delete .. //depot/projects/hammer/share/doc/papers/px/tmac.p#2 delete .. //depot/projects/hammer/share/doc/usd/18.msdiffs/ms.diffs#3 integrate .. //depot/projects/hammer/share/man/man4/ata.4#16 integrate .. //depot/projects/hammer/share/man/man4/hwpmc.4#7 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_ibm.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_panasonic.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ep.4#14 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/pbio.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/snc.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.sparc64/openprom.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.sparc64/snd_audiocs.4#3 integrate .. //depot/projects/hammer/share/man/man4/snd_es137x.4#5 integrate .. //depot/projects/hammer/share/man/man4/witness.4#8 integrate .. //depot/projects/hammer/share/man/man5/devfs.conf.5#3 integrate .. //depot/projects/hammer/share/man/man5/disktab.5#6 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#59 integrate .. //depot/projects/hammer/share/man/man7/build.7#10 integrate .. //depot/projects/hammer/share/man/man9/device_get_softc.9#5 integrate .. //depot/projects/hammer/share/man/man9/ifnet.9#21 integrate .. //depot/projects/hammer/share/man/man9/printf.9#5 integrate .. //depot/projects/hammer/share/mk/bsd.incs.mk#3 integrate .. //depot/projects/hammer/sys/alpha/alpha/db_trace.c#12 integrate .. //depot/projects/hammer/sys/alpha/linux/linux_sysvec.c#11 integrate .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#29 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_sysvec.c#6 integrate .. //depot/projects/hammer/sys/arm/arm/db_trace.c#10 integrate .. //depot/projects/hammer/sys/arm/include/clock.h#2 integrate .. //depot/projects/hammer/sys/boot/common/console.c#4 integrate .. //depot/projects/hammer/sys/boot/forth/loader.conf#22 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ipc.c#13 integrate .. //depot/projects/hammer/sys/compat/svr4/svr4_ipc.c#7 integrate .. //depot/projects/hammer/sys/conf/NOTES#96 integrate .. //depot/projects/hammer/sys/conf/files#121 integrate .. //depot/projects/hammer/sys/conf/options#83 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_battery.c#11 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aicasm/Makefile#8 integrate .. //depot/projects/hammer/sys/dev/amr/amr.c#23 integrate .. //depot/projects/hammer/sys/dev/an/if_an.c#24 integrate .. //depot/projects/hammer/sys/dev/an/if_an_isa.c#9 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#31 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#35 integrate .. //depot/projects/hammer/sys/dev/awi/awi.c#17 integrate .. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#18 integrate .. //depot/projects/hammer/sys/dev/bge/if_bge.c#49 integrate .. //depot/projects/hammer/sys/dev/drm/r300_cmdbuf.c#2 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed.c#30 integrate .. //depot/projects/hammer/sys/dev/eisa/eisaconf.c#11 integrate .. //depot/projects/hammer/sys/dev/em/if_em.c#43 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep.c#21 integrate .. //depot/projects/hammer/sys/dev/ep/if_epreg.h#6 integrate .. //depot/projects/hammer/sys/dev/ex/if_ex.c#16 integrate .. //depot/projects/hammer/sys/dev/fe/if_fe.c#19 integrate .. //depot/projects/hammer/sys/dev/fxp/if_fxp.c#47 integrate .. //depot/projects/hammer/sys/dev/gem/if_gem.c#18 integrate .. //depot/projects/hammer/sys/dev/hme/if_hme.c#20 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_mod.c#7 integrate .. //depot/projects/hammer/sys/dev/ichsmb/ichsmb.c#7 integrate .. //depot/projects/hammer/sys/dev/ichsmb/ichsmb_pci.c#10 integrate .. //depot/projects/hammer/sys/dev/ie/if_ie.c#14 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#37 integrate .. //depot/projects/hammer/sys/dev/isp/isp_freebsd.c#17 integrate .. //depot/projects/hammer/sys/dev/ixgb/if_ixgb.c#10 integrate .. //depot/projects/hammer/sys/dev/lge/if_lge.c#24 integrate .. //depot/projects/hammer/sys/dev/lnc/if_lnc.c#20 integrate .. //depot/projects/hammer/sys/dev/mlx/mlx_pci.c#11 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt.c#9 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt.h#5 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_cam.h#2 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_pci.c#13 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_raid.c#2 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_raid.h#2 integrate .. //depot/projects/hammer/sys/dev/my/if_my.c#19 integrate .. //depot/projects/hammer/sys/dev/nge/if_nge.c#29 integrate .. //depot/projects/hammer/sys/dev/nve/if_nve.c#8 integrate .. //depot/projects/hammer/sys/dev/owi/if_owi.c#10 integrate .. //depot/projects/hammer/sys/dev/owi/if_owi_pccard.c#7 integrate .. //depot/projects/hammer/sys/dev/pdq/pdq_ifsubr.c#9 integrate .. //depot/projects/hammer/sys/dev/ray/if_ray.c#18 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#28 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn.c#21 integrate .. //depot/projects/hammer/sys/dev/snc/dp83932.c#13 integrate .. //depot/projects/hammer/sys/dev/sound/isa/ad1816.c#13 integrate .. //depot/projects/hammer/sys/dev/sound/isa/ess.c#11 integrate .. //depot/projects/hammer/sys/dev/sound/isa/mss.c#14 integrate .. //depot/projects/hammer/sys/dev/sound/isa/sb8.c#11 integrate .. //depot/projects/hammer/sys/dev/sound/isa/sbc.c#9 integrate .. //depot/projects/hammer/sys/dev/sound/pci/als4000.c#10 integrate .. //depot/projects/hammer/sys/dev/sound/pci/cmi.c#14 integrate .. //depot/projects/hammer/sys/dev/sound/pci/es137x.c#12 integrate .. //depot/projects/hammer/sys/dev/sound/pci/es137x.h#3 integrate .. //depot/projects/hammer/sys/dev/sound/pci/via8233.c#14 integrate .. //depot/projects/hammer/sys/dev/sound/pci/via82c686.c#14 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#14 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/buffer.c#10 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/channel.c#12 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/dsp.c#18 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/fake.c#5 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/feeder_fmt.c#6 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/feeder_rate.c#5 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/mixer.c#15 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/sound.c#13 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/sound.h#15 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/vchan.c#7 integrate .. //depot/projects/hammer/sys/dev/tx/if_tx.c#21 integrate .. //depot/projects/hammer/sys/dev/txp/if_txp.c#18 integrate .. //depot/projects/hammer/sys/dev/usb/if_aue.c#23 integrate .. //depot/projects/hammer/sys/dev/usb/if_axe.c#22 integrate .. //depot/projects/hammer/sys/dev/usb/if_cue.c#23 integrate .. //depot/projects/hammer/sys/dev/usb/if_kue.c#19 integrate .. //depot/projects/hammer/sys/dev/usb/if_rue.c#16 integrate .. //depot/projects/hammer/sys/dev/usb/if_udav.c#11 integrate .. //depot/projects/hammer/sys/dev/vge/if_vge.c#8 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#39 integrate .. //depot/projects/hammer/sys/dev/wl/if_wl.c#17 integrate .. //depot/projects/hammer/sys/dev/xe/if_xe.c#24 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vfsops.c#17 integrate .. //depot/projects/hammer/sys/geom/eli/g_eli.c#1 branch .. //depot/projects/hammer/sys/geom/eli/g_eli.h#1 branch .. //depot/projects/hammer/sys/geom/eli/g_eli_crypto.c#1 branch .. //depot/projects/hammer/sys/geom/eli/g_eli_ctl.c#1 branch .. //depot/projects/hammer/sys/geom/eli/g_eli_key.c#1 branch .. //depot/projects/hammer/sys/geom/eli/pkcs5v2.c#1 branch .. //depot/projects/hammer/sys/geom/eli/pkcs5v2.h#1 branch .. //depot/projects/hammer/sys/i386/conf/PAE#15 integrate .. //depot/projects/hammer/sys/i386/cpufreq/est.c#5 integrate .. //depot/projects/hammer/sys/i386/i386/db_trace.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/io_apic.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#69 integrate .. //depot/projects/hammer/sys/i386/ibcs2/ibcs2_ipc.c#5 integrate .. //depot/projects/hammer/sys/i386/linux/linux_machdep.c#18 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysvec.c#22 integrate .. //depot/projects/hammer/sys/ia64/ia64/db_trace.c#14 integrate .. //depot/projects/hammer/sys/isa/isa_common.c#15 integrate .. //depot/projects/hammer/sys/kern/kern_environment.c#11 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#20 integrate .. //depot/projects/hammer/sys/kern/kern_malloc.c#26 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#31 integrate .. //depot/projects/hammer/sys/kern/kern_pmc.c#4 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#45 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#63 integrate .. //depot/projects/hammer/sys/kern/subr_hints.c#6 integrate .. //depot/projects/hammer/sys/kern/subr_mchain.c#9 integrate .. //depot/projects/hammer/sys/kern/subr_stack.c#1 branch .. //depot/projects/hammer/sys/kern/subr_witness.c#43 integrate .. //depot/projects/hammer/sys/kern/uipc_mbuf.c#30 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#57 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#58 integrate .. //depot/projects/hammer/sys/kern/vfs_default.c#42 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#89 integrate .. //depot/projects/hammer/sys/kern/vfs_vnops.c#38 integrate .. //depot/projects/hammer/sys/modules/geom/Makefile#12 integrate .. //depot/projects/hammer/sys/modules/geom/geom_eli/Makefile#1 branch .. //depot/projects/hammer/sys/net/if.c#52 integrate .. //depot/projects/hammer/sys/net/if_arcsubr.c#16 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#43 integrate .. //depot/projects/hammer/sys/net/if_fddisubr.c#17 integrate .. //depot/projects/hammer/sys/net/if_gre.c#24 integrate .. //depot/projects/hammer/sys/net/if_iso88025subr.c#15 integrate .. //depot/projects/hammer/sys/net/if_var.h#33 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_input.c#23 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#25 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_output.c#18 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#8 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#15 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#13 integrate .. //depot/projects/hammer/sys/netgraph/netgraph.h#20 integrate .. //depot/projects/hammer/sys/netgraph/ng_parse.c#10 integrate .. //depot/projects/hammer/sys/netinet/igmp.c#10 integrate .. //depot/projects/hammer/sys/netinet/in.c#16 integrate .. //depot/projects/hammer/sys/netinet/in_var.h#10 integrate .. //depot/projects/hammer/sys/netinet/ip_gre.c#14 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#52 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#48 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#48 integrate .. //depot/projects/hammer/sys/netinet6/in6_var.h#10 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#34 integrate .. //depot/projects/hammer/sys/netinet6/mld6.c#13 integrate .. //depot/projects/hammer/sys/netkey/key.c#22 integrate .. //depot/projects/hammer/sys/netncp/ncp_rq.c#6 integrate .. //depot/projects/hammer/sys/netsmb/smb_subr.c#9 integrate .. //depot/projects/hammer/sys/pci/if_dc.c#46 integrate .. //depot/projects/hammer/sys/pci/if_de.c#26 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#29 integrate .. //depot/projects/hammer/sys/pci/if_rl.c#45 integrate .. //depot/projects/hammer/sys/pci/if_sf.c#31 integrate .. //depot/projects/hammer/sys/pci/if_sis.c#37 integrate .. //depot/projects/hammer/sys/pci/if_sk.c#40 integrate .. //depot/projects/hammer/sys/pci/if_ste.c#34 integrate .. //depot/projects/hammer/sys/pci/if_ti.c#32 integrate .. //depot/projects/hammer/sys/pci/if_tl.c#23 integrate .. //depot/projects/hammer/sys/pci/if_vr.c#32 integrate .. //depot/projects/hammer/sys/pci/if_wb.c#26 integrate .. //depot/projects/hammer/sys/pci/if_xl.c#54 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/db_trace.c#10 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#37 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/trap.c#17 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/trap_subr.S#9 integrate .. //depot/projects/hammer/sys/security/mac_bsdextended/mac_bsdextended.c#16 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/db_trace.c#11 integrate .. //depot/projects/hammer/sys/sys/lockmgr.h#10 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#42 integrate .. //depot/projects/hammer/sys/sys/mchain.h#6 integrate .. //depot/projects/hammer/sys/sys/mutex.h#21 integrate .. //depot/projects/hammer/sys/sys/pmckern.h#5 integrate .. //depot/projects/hammer/sys/sys/soundcard.h#8 integrate .. //depot/projects/hammer/sys/sys/stack.h#1 branch .. //depot/projects/hammer/sys/sys/vnode.h#57 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_softdep.c#29 integrate .. //depot/projects/hammer/sys/ufs/ffs/softdep.h#3 integrate .. //depot/projects/hammer/tools/regression/geom_eli/attach-d.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/delkey.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/detach-l.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/init.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/kill.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/onetime-d.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/onetime.t#1 branch .. //depot/projects/hammer/tools/regression/geom_eli/setkey.t#1 branch .. //depot/projects/hammer/tools/tools/ath/80211debug.c#3 integrate .. //depot/projects/hammer/tools/tools/build_option_survey/mkhtml.sh#1 branch .. //depot/projects/hammer/tools/tools/build_option_survey/no_list#1 branch .. //depot/projects/hammer/tools/tools/build_option_survey/option_survey.sh#1 branch .. //depot/projects/hammer/tools/tools/nanobsd/Customize/files#2 integrate .. //depot/projects/hammer/tools/tools/nanobsd/nanobsd.sh#2 integrate .. //depot/projects/hammer/tools/tools/syscall_timing/syscall_timing.c#3 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tbmaster.pl#25 integrate .. //depot/projects/hammer/usr.bin/Makefile#43 integrate .. //depot/projects/hammer/usr.bin/chpass/chpass.1#7 integrate .. //depot/projects/hammer/usr.bin/file2c/file2c.1#3 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.c#16 integrate .. //depot/projects/hammer/usr.bin/indent/indent.1#7 integrate .. //depot/projects/hammer/usr.bin/lockf/lockf.1#6 integrate .. //depot/projects/hammer/usr.bin/make/make.1#23 integrate .. //depot/projects/hammer/usr.bin/passwd/passwd.1#7 integrate .. //depot/projects/hammer/usr.bin/systat/systat.1#7 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.c#24 integrate .. //depot/projects/hammer/usr.bin/truss/truss.1#4 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.c#20 integrate .. //depot/projects/hammer/usr.bin/xinstall/install.1#8 integrate .. //depot/projects/hammer/usr.sbin/Makefile#66 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpiconf/acpiconf.c#12 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#9 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/sdpd/sdpd.8#4 integrate .. //depot/projects/hammer/usr.sbin/bsnmpd/modules/snmp_netgraph/snmp_netgraph.3#2 integrate .. //depot/projects/hammer/usr.sbin/cron/crontab/crontab.5#7 integrate .. //depot/projects/hammer/usr.sbin/i4b/isdnd/isdnd.rc.5#7 integrate .. //depot/projects/hammer/usr.sbin/mtree/mtree.8#14 integrate .. //depot/projects/hammer/usr.sbin/ndiscvt/ndiscvt.8#7 integrate .. //depot/projects/hammer/usr.sbin/ntp/doc/ntpdc.8#4 integrate .. //depot/projects/hammer/usr.sbin/pppd/pppd.8#4 integrate .. //depot/projects/hammer/usr.sbin/pw/pw_user.c#5 integrate .. //depot/projects/hammer/usr.sbin/syslogd/syslog.conf.5#10 integrate .. //depot/projects/hammer/usr.sbin/vipw/vipw.8#4 integrate .. //depot/projects/hammer/usr.sbin/wpa/l2_packet.c#2 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#3 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#5 integrate Differences ... ==== //depot/projects/hammer/Makefile#35 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.322 2005/07/23 14:23:30 netchild Exp $ +# $FreeBSD: src/Makefile,v 1.323 2005/07/29 21:51:33 netchild Exp $ # # The user-driven targets are: # ==== //depot/projects/hammer/Makefile.inc1#101 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.502 2005/07/25 14:44:09 des Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.508 2005/08/03 20:27:06 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -236,14 +236,8 @@ SHLIBDIR=/usr/lib32 LIB32MAKE= ${LIB32MAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ - -DNO_BIND -DNO_MAN -DNO_NLS -DNO_INFO -DNO_HTML \ - CC="${CC} ${LIB32CC}" \ - CXX="${CXX} ${LIB32CXX}" \ - OBJC="${OBJC} ${LIB32OBJC}" \ - LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - AS="${AS} --32" \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 + -DNO_BIND -DNO_MAN -DNO_NLS -DNO_INFO -DNO_HTML +LIB32IMAKE= ${LIB32MAKE:NINSTALL=*} .endif # install stage @@ -451,12 +445,12 @@ .else mkdir -p ${DESTDIR}/usr/lib32 # XXX add to mtree .endif - cd ${.CURDIR}/lib; ${LIB32MAKE} ${.TARGET:S/32$//} - cd ${.CURDIR}/gnu/lib; ${LIB32MAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} .if !defined(NO_CRYPT) - cd ${.CURDIR}/secure/lib; ${LIB32MAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} .endif - cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32MAKE} ${.TARGET:S/32$//} + cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32MAKE} ${.TARGET:S/32$//} cd ${.CURDIR}/usr.bin/gcore; PROG=gcore32 ${LIB32MAKE} ${.TARGET:S/32$//} .endif @@ -1063,6 +1057,8 @@ .include +.if make(delete-old) || make(delete-old-libs) || make(check-old) + # # check for / delete old files section # @@ -1076,12 +1072,11 @@ .if !defined(BATCH_DELETE_OLD_FILES) RM_I=-i +.else +RM_I=-v .endif delete-old-files: -.if defined(${TARGET_ARCH}) -.error "You have to run this in a native environment!" -.endif @echo ">>> Removing old files (only deletes safe to delete libs)" .for file in ${OLD_FILES} # Ask for every old file if the user really wants to remove it. @@ -1095,18 +1090,12 @@ @echo ">>> Old files removed" check-old-files: -.if defined(${TARGET_ARCH}) -.error "You have to run this in a native environment!" -.endif @echo ">>> Checking for old files" .for file in ${OLD_FILES} @[ ! -f "${DESTDIR}/${file}" ] || echo "${DESTDIR}/${file}" .endfor delete-old-libs: -.if defined(${TARGET_ARCH}) -.error "You have to run this in a native environment!" -.endif @echo ">>> Removing old libraries" @echo "${OLD_LIBS_MESSAGE}" | fmt .for file in ${OLD_LIBS} @@ -1119,18 +1108,12 @@ @echo ">>> Old libraries removed" check-old-libs: -.if defined(${TARGET_ARCH}) -.error "You have to run this in a native environment!" -.endif @echo ">>> Checking for old libraries" .for file in ${OLD_LIBS} @[ ! -f "${DESTDIR}/${file}" ] || echo "${DESTDIR}/${file}" .endfor delete-old-dirs: -.if defined(${TARGET_ARCH}) -.error "You have to run this in a native environment!" -.endif @echo ">>> Removing old directories" .for dir in ${OLD_DIRS} # Don't fail if an old directory isn't empty. @@ -1139,9 +1122,6 @@ @echo ">>> Old directories removed" check-old-dirs: -.if defined(${TARGET_ARCH}) -.error "You have to run this in a native environment!" -.endif @echo ">>> Checking for old directories" .for dir in ${OLD_DIRS} @[ ! -d "${DESTDIR}/${dir}" ] || echo "${DESTDIR}/${dir}" @@ -1154,3 +1134,5 @@ @echo "To remove old files and directories run '${MAKE} delete-old'." @echo "To remove old libraries run '${MAKE} delete-old-libs'." +.endif + ==== //depot/projects/hammer/ObsoleteFiles.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.4 2005/07/26 19:21:10 dougb Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.8 2005/08/03 20:09:59 ru Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -11,13 +11,32 @@ # In case of a complete directory hierarchy the sorting is in depth first # order. # +# The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. +# # 20050721: moved to ports OLD_FILES+=usr/sbin/vttest +OLD_FILES+=usr/share/man/man1/vttest.1.gz # 20050610: rexecd (insecure by design) OLD_FILES+=etc/pam.d/rexecd OLD_FILES+=usr/share/man/man8/rexecd.8.gz OLD_FILES+=usr/libexec/rexecd +# 20050606: OpenBSD dhclient replaces ISC one +OLD_FILES+=bin/omshell +OLD_FILES+=usr/share/man/man1/omshell.1.gz +OLD_FILES+=usr/share/man/man5/dhcp-eval.5.gz +# 200504XX: ipf tools moved from /usr to / +OLD_FILES+=usr/sbin/ipftest +OLD_FILES+=usr/sbin/ipresend +OLD_FILES+=usr/sbin/ipsend +OLD_FILES+=usr/sbin/iptest +OLD_FILES+=usr/share/man/man1/ipnat.1.gz +OLD_FILES+=usr/share/man/man1/ipsend.1.gz +OLD_FILES+=usr/share/man/man1/iptest.1.gz +OLD_FILES+=usr/share/man/man5/ipsend.5.gz +# 200503XX: bsdtar takes over gtar +OLD_FILES+=usr/bin/gtar +OLD_FILES+=usr/share/man/man1/gtar.1.gz # 20050324: updated release infrastructure OLD_FILES+=usr/share/man/man5/drivers.conf.5.gz # 20050317: removed from BIND 9 distribution @@ -26,9 +45,13 @@ OLD_FILES+=sbin/mount_autofs OLD_FILES+=usr/lib/libautofs.a OLD_FILES+=usr/lib/libautofs.so -# 20050203 Merged with fortunes +OLD_FILES+=usr/share/man/man8/mount_autofs.8.gz +# 20050203: Merged with fortunes OLD_FILES+=usr/share/games/fortune/fortunes2 OLD_FILES+=usr/share/games/fortune/fortunes2.dat +# 200411XX: gvinum replaces vinum +OLD_FILES+=bin/vinum +OLD_FILES+=usr/share/man/man8/vinum.8.gz # 20041109: replaced by em(4) OLD_FILES+=usr/share/man/man4/gx.4.gz OLD_FILES+=usr/share/man/man4/if_gx.4.gz @@ -43,13 +66,164 @@ OLD_FILES+=usr/sbin/ndc OLD_FILES+=usr/sbin/nslookup OLD_FILES+=usr/sbin/nsupdate -OLD_DIRS+=usr/share/doc/bind +OLD_FILES+=usr/share/doc/bind/html/acl.html +OLD_FILES+=usr/share/doc/bind/html/address_list.html +OLD_FILES+=usr/share/doc/bind/html/comments.html +OLD_FILES+=usr/share/doc/bind/html/config.html +OLD_FILES+=usr/share/doc/bind/html/controls.html +OLD_FILES+=usr/share/doc/bind/html/docdef.html +OLD_FILES+=usr/share/doc/bind/html/example.html +OLD_FILES+=usr/share/doc/bind/html/include.html +OLD_FILES+=usr/share/doc/bind/html/index.html +OLD_FILES+=usr/share/doc/bind/html/key.html +OLD_FILES+=usr/share/doc/bind/html/logging.html +OLD_FILES+=usr/share/doc/bind/html/master.html +OLD_FILES+=usr/share/doc/bind/html/options.html +OLD_FILES+=usr/share/doc/bind/html/server.html +OLD_FILES+=usr/share/doc/bind/html/trusted-keys.html +OLD_FILES+=usr/share/doc/bind/html/zone.html +OLD_FILES+=usr/share/doc/bind/misc/DynamicUpdate +OLD_FILES+=usr/share/doc/bind/misc/FAQ.1of2 +OLD_FILES+=usr/share/doc/bind/misc/FAQ.2of2 +OLD_FILES+=usr/share/doc/bind/misc/rfc2317-notes.txt +OLD_FILES+=usr/share/doc/bind/misc/style.txt +OLD_FILES+=usr/share/man/man1/dnskeygen.1.gz +OLD_FILES+=usr/share/man/man1/dnsquery.1.gz +OLD_FILES+=usr/share/man/man8/named-bootconf.8.gz +OLD_FILES+=usr/share/man/man8/named-xfer.8.gz +OLD_FILES+=usr/share/man/man8/named.restart.8.gz +OLD_FILES+=usr/share/man/man8/ndc.8.gz +OLD_FILES+=usr/share/man/man8/nslookup.8.gz +# 200409XX +OLD_FILES+=usr/share/man/man3/ENSURE.3.gz +OLD_FILES+=usr/share/man/man3/ENSURE_ERR.3.gz +OLD_FILES+=usr/share/man/man3/INSIST.3.gz +OLD_FILES+=usr/share/man/man3/INSIST_ERR.3.gz +OLD_FILES+=usr/share/man/man3/INVARIANT.3.gz +OLD_FILES+=usr/share/man/man3/INVARIANT_ERR.3.gz +OLD_FILES+=usr/share/man/man3/REQUIRE.3.gz +OLD_FILES+=usr/share/man/man3/REQUIRE_ERR.3.gz +OLD_FILES+=usr/share/man/man3/assertion_type_to_text.3.gz +OLD_FILES+=usr/share/man/man3/assertions.3.gz +OLD_FILES+=usr/share/man/man3/bitncmp.3.gz +OLD_FILES+=usr/share/man/man3/evAddTime.3.gz +OLD_FILES+=usr/share/man/man3/evCancelConn.3.gz +OLD_FILES+=usr/share/man/man3/evCancelRW.3.gz +OLD_FILES+=usr/share/man/man3/evClearIdleTimer.3.gz +OLD_FILES+=usr/share/man/man3/evClearTimer.3.gz +OLD_FILES+=usr/share/man/man3/evCmpTime.3.gz +OLD_FILES+=usr/share/man/man3/evConnFunc.3.gz +OLD_FILES+=usr/share/man/man3/evConnect.3.gz +OLD_FILES+=usr/share/man/man3/evConsIovec.3.gz +OLD_FILES+=usr/share/man/man3/evConsTime.3.gz +OLD_FILES+=usr/share/man/man3/evCreate.3.gz +OLD_FILES+=usr/share/man/man3/evDefer.3.gz +OLD_FILES+=usr/share/man/man3/evDeselectFD.3.gz +OLD_FILES+=usr/share/man/man3/evDestroy.3.gz +OLD_FILES+=usr/share/man/man3/evDispatch.3.gz +OLD_FILES+=usr/share/man/man3/evDo.3.gz +OLD_FILES+=usr/share/man/man3/evDrop.3.gz +OLD_FILES+=usr/share/man/man3/evFileFunc.3.gz +OLD_FILES+=usr/share/man/man3/evGetNext.3.gz +OLD_FILES+=usr/share/man/man3/evHold.3.gz +OLD_FILES+=usr/share/man/man3/evInitID.3.gz +OLD_FILES+=usr/share/man/man3/evLastEventTime.3.gz +OLD_FILES+=usr/share/man/man3/evListen.3.gz +OLD_FILES+=usr/share/man/man3/evMainLoop.3.gz +OLD_FILES+=usr/share/man/man3/evNowTime.3.gz +OLD_FILES+=usr/share/man/man3/evPrintf.3.gz +OLD_FILES+=usr/share/man/man3/evRead.3.gz +OLD_FILES+=usr/share/man/man3/evResetTimer.3.gz +OLD_FILES+=usr/share/man/man3/evSelectFD.3.gz +OLD_FILES+=usr/share/man/man3/evSetDebug.3.gz +OLD_FILES+=usr/share/man/man3/evSetIdleTimer.3.gz +OLD_FILES+=usr/share/man/man3/evSetTimer.3.gz +OLD_FILES+=usr/share/man/man3/evStreamFunc.3.gz +OLD_FILES+=usr/share/man/man3/evSubTime.3.gz +OLD_FILES+=usr/share/man/man3/evTestID.3.gz +OLD_FILES+=usr/share/man/man3/evTimeRW.3.gz +OLD_FILES+=usr/share/man/man3/evTimeSpec.3.gz +OLD_FILES+=usr/share/man/man3/evTimeVal.3.gz +OLD_FILES+=usr/share/man/man3/evTimerFunc.3.gz +OLD_FILES+=usr/share/man/man3/evTouchIdleTimer.3.gz +OLD_FILES+=usr/share/man/man3/evTryAccept.3.gz +OLD_FILES+=usr/share/man/man3/evUnhold.3.gz +OLD_FILES+=usr/share/man/man3/evUntimeRW.3.gz +OLD_FILES+=usr/share/man/man3/evUnwait.3.gz +OLD_FILES+=usr/share/man/man3/evWaitFor.3.gz +OLD_FILES+=usr/share/man/man3/evWaitFunc.3.gz +OLD_FILES+=usr/share/man/man3/evWrite.3.gz +OLD_FILES+=usr/share/man/man3/eventlib.3.gz +OLD_FILES+=usr/share/man/man3/heap.3.gz +OLD_FILES+=usr/share/man/man3/heap_decreased.3.gz +OLD_FILES+=usr/share/man/man3/heap_delete.3.gz +OLD_FILES+=usr/share/man/man3/heap_element.3.gz +OLD_FILES+=usr/share/man/man3/heap_for_each.3.gz +OLD_FILES+=usr/share/man/man3/heap_free.3.gz +OLD_FILES+=usr/share/man/man3/heap_increased.3.gz +OLD_FILES+=usr/share/man/man3/heap_insert.3.gz +OLD_FILES+=usr/share/man/man3/heap_new.3.gz +OLD_FILES+=usr/share/man/man3/log_add_channel.3.gz +OLD_FILES+=usr/share/man/man3/log_category_is_active.3.gz +OLD_FILES+=usr/share/man/man3/log_close_stream.3.gz +OLD_FILES+=usr/share/man/man3/log_dec_references.3.gz +OLD_FILES+=usr/share/man/man3/log_free_channel.3.gz +OLD_FILES+=usr/share/man/man3/log_free_context.3.gz +OLD_FILES+=usr/share/man/man3/log_get_filename.3.gz +OLD_FILES+=usr/share/man/man3/log_get_stream.3.gz +OLD_FILES+=usr/share/man/man3/log_inc_references.3.gz +OLD_FILES+=usr/share/man/man3/log_new_context.3.gz +OLD_FILES+=usr/share/man/man3/log_new_file_channel.3.gz +OLD_FILES+=usr/share/man/man3/log_new_null_channel.3.gz +OLD_FILES+=usr/share/man/man3/log_new_syslog_channel.3.gz +OLD_FILES+=usr/share/man/man3/log_open_stream.3.gz +OLD_FILES+=usr/share/man/man3/log_option.3.gz +OLD_FILES+=usr/share/man/man3/log_remove_channel.3.gz +OLD_FILES+=usr/share/man/man3/log_set_file_owner.3.gz +OLD_FILES+=usr/share/man/man3/log_vwrite.3.gz +OLD_FILES+=usr/share/man/man3/log_write.3.gz +OLD_FILES+=usr/share/man/man3/logging.3.gz +OLD_FILES+=usr/share/man/man3/memcluster.3.gz +OLD_FILES+=usr/share/man/man3/memget.3.gz +OLD_FILES+=usr/share/man/man3/memput.3.gz +OLD_FILES+=usr/share/man/man3/memstats.3.gz +OLD_FILES+=usr/share/man/man3/set_assertion_failure_callback.3. +OLD_FILES+=usr/share/man/man3/sigwait.3.gz +OLD_FILES+=usr/share/man/man3/tree_add.3.gz +OLD_FILES+=usr/share/man/man3/tree_delete.3.gz +OLD_FILES+=usr/share/man/man3/tree_init.3.gz +OLD_FILES+=usr/share/man/man3/tree_mung.3.gz +OLD_FILES+=usr/share/man/man3/tree_srch.3.gz +OLD_FILES+=usr/share/man/man3/tree_trav.3.gz # 2004XXYY: OS internal libs, no ports use them, no need to use OLD_LIBS OLD_FILES+=lib/geom/geom_concat.so.1 OLD_FILES+=lib/geom/geom_label.so.1 OLD_FILES+=lib/geom/geom_nop.so.1 OLD_FILES+=lib/geom/geom_stripe.so.1 -.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_ARCH} != "sparc64" +# 200407XX +OLD_FILES+=usr/sbin/kernbb +OLD_FILES+=usr/sbin/ntp-genkeys +OLD_FILES+=usr/sbin/ntptimeset +OLD_FILES+=usr/share/man/man8/kernbb.8.gz +OLD_FILES+=usr/share/man/man8/ntp-genkeys.8.gz +# 200406XX +OLD_FILES+=usr/bin/gasp +OLD_FILES+=usr/bin/gdbreplay +OLD_FILES+=usr/share/man/man1/gasp.1.gz +# 200405XX: arl +OLD_FILES+=usr/sbin/arlconfig +OLD_FILES+=usr/share/man/man8/arlconfig.8.gz +# 200403XX +OLD_FILES+=bin/raidctl +OLD_FILES+=usr/bin/sasc +OLD_FILES+=usr/sbin/sgsc +OLD_FILES+=usr/sbin/stlload +OLD_FILES+=usr/sbin/stlstats +OLD_FILES+=usr/share/man/man1/sasc.1.gz +OLD_FILES+=usr/share/man/man1/sgsc.1.gz +OLD_FILES+=usr/share/man/man4/i386/stl.4.gz +OLD_FILES+=usr/share/man/man8/raidctl.8.gz +.if ${TARGET_ARCH} != "alpha" && ${TARGET_ARCH} != "sparc64" # 20040130: libkse renamed to libpthread OLD_FILES+=usr/lib/libkse.a OLD_FILES+=usr/lib/libkse.so @@ -75,6 +249,21 @@ OLD_FILES+=lib/libsbuf.so OLD_FILES+=lib/libufs.so OLD_FILES+=lib/libz.so +# 200312XX +OLD_FILES+=bin/cxconfig +OLD_FILES+=usr/share/man/man8/cxconfig.8.gz +# 200309XX +OLD_FILES+=usr/bin/symorder +OLD_FILES+=usr/share/man/man1/symorder.1.gz +# 200308XX +OLD_FILES+=usr/sbin/amldb +OLD_FILES+=usr/share/man/man8/amldb.8.gz +# 200306XX +OLD_FILES+=bin/mount_nwfs +OLD_FILES+=bin/mount_portalfs +OLD_FILES+=bin/mount_smbfs +OLD_FILES+=usr/sbin/dev_mkdb +OLD_FILES+=usr/share/man/man8/dev_mkdb.8.gz # 200304XX OLD_FILES+=usr/lib/libcipher.a OLD_FILES+=usr/lib/libcipher.so @@ -91,6 +280,10 @@ OLD_FILES+=usr/lib/libskey.a OLD_FILES+=usr/lib/libskey.so OLD_FILES+=usr/lib/libskey_p.a +# 200304XX: removal of xten +OLD_FILES+=usr/sbin/xten +OLD_FILES+=usr/share/man/man1/xten.1.gz +OLD_FILES+=usr/share/man/man8/xtend.8.gz # 200303XX OLD_FILES+=usr/lib/libacl.so OLD_FILES+=usr/lib/libdescrypt.so @@ -114,6 +307,166 @@ OLD_FILES+=usr/lib/libkrb.a OLD_FILES+=usr/lib/libkrb.so OLD_FILES+=usr/lib/libkrb_p.a +OLD_FILES+=usr/share/man/man3/SSL_CIPHER_get_name.3.gz +OLD_FILES+=usr/share/man/man3/SSL_COMP_add_compression_method.3 +OLD_FILES+=usr/share/man/man3/SSL_CTX_add_extra_chain_cert.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_add_session.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_ctrl.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_flush_sessions.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_free.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_get_verify_mode.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_load_verify_locations.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_new.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_sess_number.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_sess_set_cache_size.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_sess_set_get_cb.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_sessions.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_cert_store.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_cert_verify_callback.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_cipher_list.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_client_CA_list.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_client_cert_cb.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_default_passwd_cb.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_generate_session_id.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_info_callback.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_max_cert_list.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_mode.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_msg_callback.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_options.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_quiet_shutdown.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_session_cache_mode.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_session_id_context.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_ssl_version.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_timeout.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_tmp_dh_callback.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_tmp_rsa_callback.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_set_verify.3.gz +OLD_FILES+=usr/share/man/man3/SSL_CTX_use_certificate.3.gz +OLD_FILES+=usr/share/man/man3/SSL_SESSION_free.3.gz +OLD_FILES+=usr/share/man/man3/SSL_SESSION_get_ex_new_index.3.gz +OLD_FILES+=usr/share/man/man3/SSL_SESSION_get_time.3.gz +OLD_FILES+=usr/share/man/man3/SSL_accept.3.gz +OLD_FILES+=usr/share/man/man3/SSL_alert_type_string.3.gz +OLD_FILES+=usr/share/man/man3/SSL_clear.3.gz +OLD_FILES+=usr/share/man/man3/SSL_connect.3.gz +OLD_FILES+=usr/share/man/man3/SSL_do_handshake.3.gz +OLD_FILES+=usr/share/man/man3/SSL_free.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_SSL_CTX.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_ciphers.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_client_CA_list.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_current_cipher.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_default_timeout.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_error.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_ex_new_index.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_fd.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_peer_cert_chain.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_peer_certificate.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_rbio.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_session.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_verify_result.3.gz +OLD_FILES+=usr/share/man/man3/SSL_get_version.3.gz +OLD_FILES+=usr/share/man/man3/SSL_library_init.3.gz +OLD_FILES+=usr/share/man/man3/SSL_load_client_CA_file.3.gz +OLD_FILES+=usr/share/man/man3/SSL_new.3.gz +OLD_FILES+=usr/share/man/man3/SSL_pending.3.gz +OLD_FILES+=usr/share/man/man3/SSL_read.3.gz +OLD_FILES+=usr/share/man/man3/SSL_rstate_string.3.gz +OLD_FILES+=usr/share/man/man3/SSL_session_reused.3.gz +OLD_FILES+=usr/share/man/man3/SSL_set_bio.3.gz +OLD_FILES+=usr/share/man/man3/SSL_set_connect_state.3.gz +OLD_FILES+=usr/share/man/man3/SSL_set_fd.3.gz +OLD_FILES+=usr/share/man/man3/SSL_set_session.3.gz +OLD_FILES+=usr/share/man/man3/SSL_set_shutdown.3.gz +OLD_FILES+=usr/share/man/man3/SSL_set_verify_result.3.gz +OLD_FILES+=usr/share/man/man3/SSL_shutdown.3.gz +OLD_FILES+=usr/share/man/man3/SSL_state_string.3.gz +OLD_FILES+=usr/share/man/man3/SSL_want.3.gz +OLD_FILES+=usr/share/man/man3/SSL_write.3.gz +OLD_FILES+=usr/share/man/man3/d2i_SSL_SESSION.3.gz +# 200301XX +OLD_FILES+=usr/share/man/man3/des_3cbc_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_3ecb_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_cbc_cksum.3.gz +OLD_FILES+=usr/share/man/man3/des_cbc_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_cfb_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_ecb_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_enc_read.3.gz +OLD_FILES+=usr/share/man/man3/des_enc_write.3.gz +OLD_FILES+=usr/share/man/man3/des_is_weak_key.3.gz +OLD_FILES+=usr/share/man/man3/des_key_sched.3.gz +OLD_FILES+=usr/share/man/man3/des_ofb_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_pcbc_encrypt.3.gz +OLD_FILES+=usr/share/man/man3/des_quad_cksum.3.gz +OLD_FILES+=usr/share/man/man3/des_random_key.3.gz +OLD_FILES+=usr/share/man/man3/des_read_2password.3.gz +OLD_FILES+=usr/share/man/man3/des_read_password.3.gz +OLD_FILES+=usr/share/man/man3/des_read_pw_string.3.gz +OLD_FILES+=usr/share/man/man3/des_set_key.3.gz +OLD_FILES+=usr/share/man/man3/des_set_odd_parity.3.gz +OLD_FILES+=usr/share/man/man3/des_string_to_2key.3.gz +OLD_FILES+=usr/share/man/man3/des_string_to_key.3.gz +# 200210XX +OLD_FILES+=usr/share/man/man3/All_FreeBSD.3.gz +OLD_FILES+=usr/share/man/man3/CheckRules.3.gz +OLD_FILES+=usr/share/man/man3/ChunkCanBeRoot.3.gz +OLD_FILES+=usr/share/man/man3/Clone_Disk.3.gz +OLD_FILES+=usr/share/man/man3/Collapse_Chunk.3.gz +OLD_FILES+=usr/share/man/man3/Collapse_Disk.3.gz +OLD_FILES+=usr/share/man/man3/Create_Chunk.3.gz +OLD_FILES+=usr/share/man/man3/Create_Chunk_DWIM.3.gz +OLD_FILES+=usr/share/man/man3/Cyl_Aligned.3.gz +OLD_FILES+=usr/share/man/man3/Debug_Disk.3.gz +OLD_FILES+=usr/share/man/man3/Delete_Chunk.3.gz +OLD_FILES+=usr/share/man/man3/Disk_Names.3.gz +OLD_FILES+=usr/share/man/man3/Free_Disk.3.gz +OLD_FILES+=usr/share/man/man3/MakeDev.3.gz +OLD_FILES+=usr/share/man/man3/MakeDevDisk.3.gz +OLD_FILES+=usr/share/man/man3/Next_Cyl_Aligned.3.gz +OLD_FILES+=usr/share/man/man3/Next_Track_Aligned.3.gz +OLD_FILES+=usr/share/man/man3/Open_Disk.3.gz +OLD_FILES+=usr/share/man/man3/Prev_Cyl_Aligned.3.gz +OLD_FILES+=usr/share/man/man3/Prev_Track_Aligned.3.gz +OLD_FILES+=usr/share/man/man3/Set_Bios_Geom.3.gz +OLD_FILES+=usr/share/man/man3/Set_Boot_Blocks.3.gz +OLD_FILES+=usr/share/man/man3/Set_Boot_Mgr.3.gz +OLD_FILES+=usr/share/man/man3/ShowChunkFlags.3.gz +OLD_FILES+=usr/share/man/man3/Track_Aligned.3.gz +OLD_FILES+=usr/share/man/man3/Write_Disk.3.gz +OLD_FILES+=usr/share/man/man3/slice_type_name.3.gz +# 200210XX: most games moved to ports +OLD_FILES+=usr/share/man/man6/adventure.6.gz +OLD_FILES+=usr/share/man/man6/arithmetic.6.gz +OLD_FILES+=usr/share/man/man6/atc.6.gz +OLD_FILES+=usr/share/man/man6/backgammon.6.gz +OLD_FILES+=usr/share/man/man6/battlestar.6.gz +OLD_FILES+=usr/share/man/man6/bs.6.gz +OLD_FILES+=usr/share/man/man6/canfield.6.gz +OLD_FILES+=usr/share/man/man6/cfscores.6.gz +OLD_FILES+=usr/share/man/man6/cribbage.6.gz +OLD_FILES+=usr/share/man/man6/fish.6.gz +OLD_FILES+=usr/share/man/man6/hack.6.gz +OLD_FILES+=usr/share/man/man6/hangman.6.gz +OLD_FILES+=usr/share/man/man6/larn.6.gz +OLD_FILES+=usr/share/man/man6/mille.6.gz +OLD_FILES+=usr/share/man/man6/phantasia.6.gz +OLD_FILES+=usr/share/man/man6/piano.6.gz +OLD_FILES+=usr/share/man/man6/pig.6.gz +OLD_FILES+=usr/share/man/man6/quiz.6.gz +OLD_FILES+=usr/share/man/man6/rain.6.gz +OLD_FILES+=usr/share/man/man6/robots.6.gz +OLD_FILES+=usr/share/man/man6/rogue.6.gz +OLD_FILES+=usr/share/man/man6/sail.6.gz +OLD_FILES+=usr/share/man/man6/snake.6.gz +OLD_FILES+=usr/share/man/man6/snscore.6.gz +OLD_FILES+=usr/share/man/man6/trek.6.gz +OLD_FILES+=usr/share/man/man6/wargames.6.gz +OLD_FILES+=usr/share/man/man6/worm.6.gz +OLD_FILES+=usr/share/man/man6/worms.6.gz +OLD_FILES+=usr/share/man/man6/wump.6.gz +# 200207XX +OLD_FILES+=bin/mountd +OLD_FILES+=bin/nfsd # 200206XX OLD_FILES+=usr/lib/libpam_ssh.a OLD_FILES+=usr/lib/libpam_ssh_p.a @@ -147,7 +500,7 @@ # 20001006 OLD_FILES+=usr/bin/miniperl # 20000810 -OLD_FILES+=usr/bin/sperl* +OLD_FILES+=usr/bin/sperl # 199909XX OLD_FILES+=usr/lib/libdesrypt_p.a ## unsorted @@ -235,12 +588,41 @@ OLD_LIBS+=usr/lib/libvgl.so.3 OLD_LIBS+=usr/lib/libwrap.so.3 OLD_LIBS+=usr/lib/libypclnt.so.1 -OLD_LIBS+=usr/lib/pam_*.so.2 -OLD_LIBS+=usr/lib/snmp_*.so.3 +OLD_LIBS+=usr/lib/pam_chroot.so.2 +OLD_LIBS+=usr/lib/pam_deny.so.2 +OLD_LIBS+=usr/lib/pam_echo.so.2 +OLD_LIBS+=usr/lib/pam_exec.so.2 +OLD_LIBS+=usr/lib/pam_ftpusers.so.2 +OLD_LIBS+=usr/lib/pam_group.so.2 +OLD_LIBS+=usr/lib/pam_guest.so.2 +OLD_LIBS+=usr/lib/pam_krb5.so.2 +OLD_LIBS+=usr/lib/pam_ksu.so.2 +OLD_LIBS+=usr/lib/pam_lastlog.so.2 +OLD_LIBS+=usr/lib/pam_login_access.so.2 +OLD_LIBS+=usr/lib/pam_nologin.so.2 +OLD_LIBS+=usr/lib/pam_opie.so.2 +OLD_LIBS+=usr/lib/pam_opieaccess.so.2 +OLD_LIBS+=usr/lib/pam_passwdqc.so.2 +OLD_LIBS+=usr/lib/pam_permit.so.2 +OLD_LIBS+=usr/lib/pam_radius.so.2 +OLD_LIBS+=usr/lib/pam_rhosts.so.2 +OLD_LIBS+=usr/lib/pam_rootok.so.2 +OLD_LIBS+=usr/lib/pam_securetty.so.2 +OLD_LIBS+=usr/lib/pam_self.so.2 +OLD_LIBS+=usr/lib/pam_ssh.so.2 +OLD_LIBS+=usr/lib/pam_tacplus.so.2 +OLD_LIBS+=usr/lib/pam_unix.so.2 +OLD_LIBS+=usr/lib/snmp_atm.so.3 +OLD_LIBS+=usr/lib/snmp_mibII.so.3 +OLD_LIBS+=usr/lib/snmp_netgraph.so.3 +OLD_LIBS+=usr/lib/snmp_pf.so.3 # 20050603: network related ABI change on 64bit systems OLD_LIBS+=usr/lib/libpcap.so.3 # 200505XX: ? -OLD_LIBS+=usr/lib/snmp_*.so.2 +OLD_LIBS+=usr/lib/snmp_atm.so.2 +OLD_LIBS+=usr/lib/snmp_mibII.so.2 +OLD_LIBS+=usr/lib/snmp_netgraph.so.2 +OLD_LIBS+=usr/lib/snmp_pf.so.2 # 2005XXXX: not ready for primetime yet OLD_LIBS+=usr/lib/libautofs.so.1 # 200410XX: libm compatibility fix @@ -254,7 +636,7 @@ OLD_LIBS+=usr/lib/libisc.so.1 # 200408XX OLD_LIBS+=usr/lib/snmp_netgraph.so.1 -.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_ARCH} != "sparc64" +.if ${TARGET_ARCH} != "alpha" && ${TARGET_ARCH} != "sparc64" # 20040130: libkse renamed to libpthread OLD_LIBS+=usr/lib/libkse.so.1 .endif @@ -337,5 +719,8 @@ # 199909XX OLD_LIBS+=usr/lib/libc_r.so.3 -OLD_DIRS+= +# 20040925: bind9 import +OLD_DIRS+=usr/share/doc/bind/html +OLD_DIRS+=usr/share/doc/bind/misc +OLD_DIRS+=usr/share/doc/bind/ ==== //depot/projects/hammer/bin/csh/Makefile#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/bin/csh/Makefile,v 1.36 2005/04/24 19:44:43 mp Exp $ +# $FreeBSD: src/bin/csh/Makefile,v 1.37 2005/08/03 09:22:03 phk Exp $ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # # C Shell with process control; VM/UNIX VAX Makefile @@ -45,8 +45,10 @@ CLEANFILES= ${GENHDRS} gethost csh.1 +.if !defined(NO_EXAMPLES) FILESDIR= ${SHAREDIR}/examples/tcsh FILES= complete.tcsh csh-mode.el +.endif CATALOGS= et:et_EE.ISO8859-15 \ finnish:fi_FI.ISO8859-1 \ ==== //depot/projects/hammer/bin/csh/USD.doc/csh.2#4 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 3 22:29:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 87F9B16A421; Wed, 3 Aug 2005 22:29:27 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 61FF816A41F for ; Wed, 3 Aug 2005 22:29:27 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E99243D45 for ; Wed, 3 Aug 2005 22:29:27 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73MTR0v025135 for ; Wed, 3 Aug 2005 22:29:27 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73MTQDL025132 for perforce@freebsd.org; Wed, 3 Aug 2005 22:29:26 GMT (envelope-from peter@freebsd.org) Date: Wed, 3 Aug 2005 22:29:26 GMT Message-Id: <200508032229.j73MTQDL025132@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 81419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 22:29:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=81419 Change 81419 by peter@peter_overcee on 2005/08/03 22:29:12 Integ -b i386_hammer (extint stuff) Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -130,6 +131,12 @@ static int bsp_id, current_cluster, logical_clusters, next_ioapic_base; static u_int next_id, program_logical_dest; +SYSCTL_NODE(_hw, OID_AUTO, apic, CTLFLAG_RD, 0, "APIC options"); +static int enable_extint; +SYSCTL_INT(_hw_apic, OID_AUTO, enable_extint, CTLFLAG_RDTUN, &enable_extint, 0, + "Enable the ExtINT pin in the first I/O APIC"); +TUNABLE_INT("hw.apic.enable_extint", &enable_extint); + static __inline void _ioapic_eoi_source(struct intsrc *isrc) { @@ -287,7 +294,7 @@ switch (intpin->io_vector) { case VECTOR_EXTINT: KASSERT(intpin->io_edgetrigger, - ("EXTINT not edge triggered")); + ("ExtINT not edge triggered")); low |= IOART_DELEXINT; break; case VECTOR_NMI: @@ -681,7 +688,10 @@ return (EINVAL); io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_vector = VECTOR_EXTINT; - io->io_pins[pin].io_masked = 1; + if (enable_extint) + io->io_pins[pin].io_masked = 0; + else + io->io_pins[pin].io_masked = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose) From owner-p4-projects@FreeBSD.ORG Wed Aug 3 23:31:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B446F16A451; Wed, 3 Aug 2005 23:31:27 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57D5C16A44E for ; Wed, 3 Aug 2005 23:31:27 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF62A43D46 for ; Wed, 3 Aug 2005 23:31:26 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73NVQmS027441 for ; Wed, 3 Aug 2005 23:31:26 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73NVQ16027438 for perforce@freebsd.org; Wed, 3 Aug 2005 23:31:26 GMT (envelope-from sam@freebsd.org) Date: Wed, 3 Aug 2005 23:31:26 GMT Message-Id: <200508032331.j73NVQ16027438@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81420 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 23:31:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=81420 Change 81420 by sam@sam_ebb on 2005/08/03 23:30:45 Cleanup key ix map stuff: o dynamically allocate table based on max key ix (defined as 4 by default w/ driver override) o defer sta table allocation to late attach so driver can override max key index o use late attach deferral to do max aid also o change key ix checks to be against nt_keyixmax; w/ unsigned don't need explicit check for KEYIX_NONE Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#97 edit .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#16 edit .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#11 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#60 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#29 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#97 (text+ko) ==== @@ -586,6 +586,7 @@ ic->ic_scan_start = ath_scan_start; ic->ic_scan_end = ath_scan_end; ic->ic_set_channel = ath_set_channel; + ic->ic_crypto.cs_max_keyix = sc->sc_keymax; ic->ic_crypto.cs_key_alloc = ath_key_alloc; ic->ic_crypto.cs_key_delete = ath_key_delete; ic->ic_crypto.cs_key_set = ath_key_set; ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#16 (text+ko) ==== @@ -143,6 +143,7 @@ /* NB: we assume everything is pre-zero'd */ cs->cs_def_txkey = IEEE80211_KEYIX_NONE; + cs->cs_max_keyix = IEEE80211_WEP_NKID; ciphers[IEEE80211_CIPHER_NONE] = &ieee80211_cipher_none; for (i = 0; i < IEEE80211_WEP_NKID; i++) ieee80211_crypto_resetkey(ic, &cs->cs_nw_keys[i], ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#11 (text+ko) ==== @@ -121,6 +121,7 @@ struct ieee80211_crypto_state { struct ieee80211_key cs_nw_keys[IEEE80211_WEP_NKID]; u_int16_t cs_def_txkey; /* default/group tx key index */ + u_int16_t cs_max_keyix; /* max h/w key index */ int (*cs_key_alloc)(struct ieee80211com *, const struct ieee80211_key *); ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#60 (text+ko) ==== @@ -71,7 +71,8 @@ static void _ieee80211_free_node(struct ieee80211_node *); static void ieee80211_node_table_init(struct ieee80211com *ic, - struct ieee80211_node_table *nt, const char *name, int inact); + struct ieee80211_node_table *nt, const char *name, + int inact, int keymaxix); static void ieee80211_node_table_reset(struct ieee80211_node_table *); static void ieee80211_node_table_cleanup(struct ieee80211_node_table *nt); @@ -81,9 +82,6 @@ ieee80211_node_attach(struct ieee80211com *ic) { - ieee80211_node_table_init(ic, &ic->ic_sta, "station", - IEEE80211_INACT_INIT); - ic->ic_node_alloc = node_alloc; ic->ic_node_free = node_free; ic->ic_node_cleanup = node_cleanup; @@ -97,10 +95,16 @@ callout_init(&ic->ic_inact, CALLOUT_MPSAFE); - /* XXX defer */ - if (ic->ic_max_aid == 0) - ic->ic_max_aid = IEEE80211_AID_DEF; - else if (ic->ic_max_aid > IEEE80211_AID_MAX) + /* NB: driver should override */ + ic->ic_max_aid = IEEE80211_AID_DEF; +} + +void +ieee80211_node_lateattach(struct ieee80211com *ic) +{ + struct ieee80211_rsnparms *rsn; + + if (ic->ic_max_aid > IEEE80211_AID_MAX) ic->ic_max_aid = IEEE80211_AID_MAX; MALLOC(ic->ic_aid_bitmap, u_int32_t *, howmany(ic->ic_max_aid, 32) * sizeof(u_int32_t), @@ -110,12 +114,9 @@ printf("%s: no memory for AID bitmap!\n", __func__); ic->ic_max_aid = 0; } -} -void -ieee80211_node_lateattach(struct ieee80211com *ic) -{ - struct ieee80211_rsnparms *rsn; + ieee80211_node_table_init(ic, &ic->ic_sta, "station", + IEEE80211_INACT_INIT, ic->ic_crypto.cs_max_keyix); ieee80211_reset_bss(ic); /* @@ -956,9 +957,10 @@ nt = &ic->ic_sta; IEEE80211_NODE_LOCK(nt); - KASSERT(keyix == IEEE80211_KEYIX_NONE || keyix < 128, - ("keyix %u out of bounds (1)", keyix)); - ni = (keyix != IEEE80211_KEYIX_NONE) ? nt->nt_keyixmap[keyix] : NULL; + if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) + ni = nt->nt_keyixmap[keyix]; + else + ni = NULL; if (ni == NULL) { if (IS_CTL(wh) && !IS_PSPOLL(wh) /*&& !IS_RTS(ah)*/) ni = _ieee80211_find_node(nt, wh->i_addr1); @@ -966,21 +968,21 @@ ni = _ieee80211_find_node(nt, wh->i_addr2); if (ni == NULL) ni = ieee80211_ref_node(ic->ic_bss); - /* - * If the station has a unicast key cache slot - * assigned update the key->node mapping table. - */ - keyix = ni->ni_ucastkey.wk_keyix; - KASSERT(keyix == IEEE80211_KEYIX_NONE || keyix < 128, - ("keyix %u out of bounds (2)", keyix)); - /* XXX can keyixmap[keyix] != NULL? */ - if (keyix != IEEE80211_KEYIX_NONE && - nt->nt_keyixmap[keyix] == NULL) { - IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, - "%s: add key map entry %p<%s> refcnt %d\n", - __func__, ni, ether_sprintf(ni->ni_macaddr), - ieee80211_node_refcnt(ni)+1); - nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni); + if (nt->nt_keyixmap != NULL) { + /* + * If the station has a unicast key cache slot + * assigned update the key->node mapping table. + */ + keyix = ni->ni_ucastkey.wk_keyix; + /* XXX can keyixmap[keyix] != NULL? */ + if (keyix < nt->nt_keyixmax && + nt->nt_keyixmap[keyix] == NULL) { + IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, + "%s: add key map entry %p<%s> refcnt %d\n", + __func__, ni, ether_sprintf(ni->ni_macaddr), + ieee80211_node_refcnt(ni)+1); + nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni); + } } } else ieee80211_ref_node(ni); @@ -1136,13 +1138,14 @@ * Last reference, reclaim state. */ _ieee80211_free_node(ni); - } else if (ieee80211_node_refcnt(ni) == 1) { + } else if (ieee80211_node_refcnt(ni) == 1 && + nt->nt_keyixmap != NULL) { u_int16_t keyix; /* * Check for a last reference in the key mapping table. */ keyix = ni->ni_ucastkey.wk_keyix; - if (keyix != IEEE80211_KEYIX_NONE && + if (keyix < nt->nt_keyixmax && nt->nt_keyixmap[keyix] == ni) { IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, "%s: %p<%s> clear key map entry", __func__, @@ -1172,8 +1175,11 @@ /* XXX can be entered w/ or w/o lock */ if (!isowned) IEEE80211_NODE_LOCK(nt); - ni = nt->nt_keyixmap[keyix]; - nt->nt_keyixmap[keyix] = NULL;; + if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { + ni = nt->nt_keyixmap[keyix]; + nt->nt_keyixmap[keyix] = NULL;; + } else + ni = NULL; if (!isowned) IEEE80211_NODE_UNLOCK(nt); @@ -1210,7 +1216,8 @@ * being cleared because the node may not be free'd. */ keyix = ni->ni_ucastkey.wk_keyix; - if (keyix != IEEE80211_KEYIX_NONE && nt->nt_keyixmap[keyix] == ni) { + if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax && + nt->nt_keyixmap[keyix] == ni) { IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE, "%s: %p<%s> clear key map entry\n", __func__, ni, ether_sprintf(ni->ni_macaddr)); @@ -1272,8 +1279,6 @@ ic->ic_opmode == IEEE80211_M_AHDEMO); IEEE80211_SCAN_LOCK(nt); gen = nt->nt_scangen++; - IEEE80211_DPRINTF(ic, IEEE80211_MSG_NODE, - "%s: %s scangen %u\n", __func__, nt->nt_name, gen); restart: IEEE80211_NODE_LOCK(nt); TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { @@ -1737,7 +1742,7 @@ static void ieee80211_node_table_init(struct ieee80211com *ic, struct ieee80211_node_table *nt, - const char *name, int inact) + const char *name, int inact, int keyixmax) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_NODE, @@ -1751,6 +1756,17 @@ nt->nt_name = name; nt->nt_scangen = 1; nt->nt_inact_init = inact; + nt->nt_keyixmax = keyixmax; + if (nt->nt_keyixmax > 0) { + MALLOC(nt->nt_keyixmap, struct ieee80211_node **, + keyixmax * sizeof(struct ieee80211_node *), + M_80211_NODE, M_NOWAIT | M_ZERO); + if (nt->nt_keyixmap == NULL) + if_printf(ic->ic_ifp, + "Cannot allocate key index map with %u entries\n", + keyixmax); + } else + nt->nt_keyixmap = NULL; } static void @@ -1774,6 +1790,11 @@ IEEE80211_NODE_LOCK(nt); ieee80211_free_allnodes_locked(nt); + if (nt->nt_keyixmap != NULL) { + /* XXX verify all entries are NULL */ + FREE(nt->nt_keyixmap, M_80211_NODE); + nt->nt_keyixmap = NULL; + } IEEE80211_SCAN_LOCK_DESTROY(nt); IEEE80211_NODE_LOCK_DESTROY(nt); } ==== //depot/projects/wifi/sys/net80211/ieee80211_node.h#29 (text+ko) ==== @@ -210,7 +210,8 @@ ieee80211_node_lock_t nt_nodelock; /* on node table */ TAILQ_HEAD(, ieee80211_node) nt_node; /* information of all nodes */ LIST_HEAD(, ieee80211_node) nt_hash[IEEE80211_NODE_HASHSIZE]; - struct ieee80211_node *nt_keyixmap[128];/* key ix -> node map */ + struct ieee80211_node **nt_keyixmap; /* key ix -> node map */ + int nt_keyixmax; /* keyixmap size */ const char *nt_name; /* for debugging */ ieee80211_scan_lock_t nt_scanlock; /* on nt_scangen */ u_int nt_scangen; /* gen# for timeout scan */ From owner-p4-projects@FreeBSD.ORG Thu Aug 4 03:45:33 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0599216A421; Thu, 4 Aug 2005 03:45:33 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D403516A41F for ; Thu, 4 Aug 2005 03:45:32 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A547B43D45 for ; Thu, 4 Aug 2005 03:45:32 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j743jWA2043372 for ; Thu, 4 Aug 2005 03:45:32 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j743jWen043369 for perforce@freebsd.org; Thu, 4 Aug 2005 03:45:32 GMT (envelope-from sam@freebsd.org) Date: Thu, 4 Aug 2005 03:45:32 GMT Message-Id: <200508040345.j743jWen043369@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81423 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 03:45:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=81423 Change 81423 by sam@sam_ebb on 2005/08/04 03:44:43 o clear m_nextpkt when building a ff so ath_start doesn't think the frame has been fragmented o plug mbuf leak on ff build failure Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#52 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#52 (text+ko) ==== @@ -557,6 +557,7 @@ "%s: only one frame\n", __func__); goto bad; } + m->m_nextpkt = NULL; /* * Include fast frame headers in adjusting header * layout; this allocates space according to what @@ -568,6 +569,7 @@ key, m); if (m == NULL) { /* NB: ieee80211_mbuf_adjust handles msgs+statistics */ + m_freem(m2); goto bad; } /* From owner-p4-projects@FreeBSD.ORG Thu Aug 4 04:34:33 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3427B16A421; Thu, 4 Aug 2005 04:34:33 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EB0F916A41F for ; Thu, 4 Aug 2005 04:34:32 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9FC9043D45 for ; Thu, 4 Aug 2005 04:34:32 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j744YWHg044970 for ; Thu, 4 Aug 2005 04:34:32 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j744YWLr044967 for perforce@freebsd.org; Thu, 4 Aug 2005 04:34:32 GMT (envelope-from soc-tyler@freebsd.org) Date: Thu, 4 Aug 2005 04:34:32 GMT Message-Id: <200508040434.j744YWLr044967@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 04:34:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=81425 Change 81425 by soc-tyler@soc-tyler_launchd on 2005/08/04 04:34:03 Still build problems related to the init code, what to toss, what not to toss... I'll have this done this weekend, then i'll fix that stupid unix sockets problem. I plan to have it running with PID != 1 by the end of next week, else murray@ might start whipping me :-/ Affected files ... .. //depot/projects/soc2005/launchd/Makefile#10 edit .. //depot/projects/soc2005/launchd/init.c#7 edit .. //depot/projects/soc2005/launchd/launchd.c#9 edit Differences ... ==== //depot/projects/soc2005/launchd/Makefile#10 (text+ko) ==== @@ -15,9 +15,8 @@ CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes -D_LAUNCHD_ # init.c related CFLAGS (from src/sbin/init/Makefile) # -DSECURE to make secure single-user logins (enter root passwd, etc) -CFLAGS+= -DDEBUGSHELL -DLOGIN_CAP -DCOMPAT_SYSV_INIT -# Do not let launchd(8) have init(8) functionality (or I haven't implemented it yet.. ;)) -CFLAGS+= -D_NO_INIT_ +# -DDEBUGSHELL ? we don't need no stinkin' DEBUGSHELL +CFLAGS+= -DLOGIN_CAP -DCOMPAT_SYSV_INIT # -lcrypt needed by original FreeBSD init(8) code ==== //depot/projects/soc2005/launchd/init.c#7 (text+ko) ==== @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -118,8 +119,9 @@ typedef long (*state_func_t)(void); typedef state_func_t (*state_t)(void); -state_func_t single_user(void); -state_func_t runcom(void); +void single_user(void); +void runcom(void); + state_func_t read_ttys(void); state_func_t multi_user(void); state_func_t clean_ttys(void); @@ -130,13 +132,24 @@ #define FALSE 0 #define TRUE 1 -int Reboot = FALSE; +static bool Reboot = false; int howto = RB_AUTOBOOT; +/* some launchd(8) related variables */ +static bool runcom_verbose = false; +static bool runcom_safe = false; +static bool runcom_fsck = true; +//static bool runcom_netboot = false; +static bool single_user_mode = false; +static bool run_runcom = true; +static pid_t single_user_pid = 0; +static pid_t runcom_pid = 0; + int devfs; void transition(state_t); -state_t requested_transition = runcom; +/* this is something of old init.c, the state nonsense */ +//state_t requested_transition = runcom; void setctty(const char *); @@ -186,176 +199,44 @@ session_t *find_session(pid_t); DB *session_db; -#ifndef _LAUNCHD_ -/* - * The mother of all processes. - */ -int -main(int argc, char *argv[]) -{ - int c; - struct sigaction sa; - sigset_t mask; - - - /* Dispose of random users. */ - if (getuid() != 0) - errx(1, "%s", strerror(EPERM)); - - /* System V users like to reexec init. */ - if (getpid() != 1) { -#ifdef COMPAT_SYSV_INIT - /* So give them what they want */ - if (argc > 1) { - if (strlen(argv[1]) == 1) { - char runlevel = *argv[1]; - int sig; - - switch (runlevel) { - case '0': /* halt + poweroff */ - sig = SIGUSR2; - break; - case '1': /* single-user */ - sig = SIGTERM; - break; - case '6': /* reboot */ - sig = SIGINT; - break; - case 'c': /* block further logins */ - sig = SIGTSTP; - break; - case 'q': /* rescan /etc/ttys */ - sig = SIGHUP; - break; - default: - goto invalid; - } - kill(1, sig); - _exit(0); - } else -invalid: - errx(1, "invalid run-level ``%s''", argv[1]); - } else -#endif - errx(1, "already running"); +/* init_boot() was borrowed from launchd(8)'s original init.c file */ +void init_boot(bool sflag, bool vflag, bool xflag) { + if (sflag) { + single_user_mode = true; + run_runcom = false; } - /* - * Note that this does NOT open a file... - * Does 'init' deserve its own facility number? - */ - openlog("init", LOG_CONS|LOG_ODELAY, LOG_AUTH); + if (vflag) + runcom_verbose = true; + if (xflag) + runcom_safe = true; +} - /* - * Create an initial session. - */ - if (setsid() < 0) - warning("initial setsid() failed: %m"); +/* init_pre_kevent() was borrowed from launchd(8)'s original init.c file */ +void init_pre_kevent(void) { + session_t s; - /* - * Establish an initial user so that programs running - * single user do not freak out and die (like passwd). - */ - if (setlogin("root") < 0) - warning("setlogin() failed: %m"); + if (single_user_mode && single_user_pid == 0) + single_user(); - /* - * This code assumes that we always get arguments through flags, - * never through bits set in some random machine register. - */ - while ((c = getopt(argc, argv, "dsf")) != -1) - switch (c) { - case 'd': - devfs = 1; - break; - case 's': - requested_transition = single_user; - break; - case 'f': - runcom_mode = FASTBOOT; - break; - default: - warning("unrecognized flag '-%c'", c); - break; - } + if (run_runcom) + runcom(); + + if (!single_user_mode && !run_runcom && runcom_pid == 0) { + /* + * If the administrator has not set the security level to -1 + * to indicate that the kernel should not run multiuser in secure + * mode, and the run script has not set a higher level of security + * than level 1, then put the kernel into secure mode. + */ + if (getsecuritylevel() == 0) + setsecuritylevel(1); - if (optind != argc) - warning("ignoring excess arguments"); - - if (devfs) { - struct iovec iov[4]; - char *s; - int i; - - char _fstype[] = "fstype"; - char _devfs[] = "devfs"; - char _fspath[] = "fspath"; - char _path_dev[]= _PATH_DEV; - - iov[0].iov_base = _fstype; - iov[0].iov_len = sizeof(_fstype); - iov[1].iov_base = _devfs; - iov[1].iov_len = sizeof(_devfs); - iov[2].iov_base = _fspath; - iov[2].iov_len = sizeof(_fspath); - /* - * Try to avoid the trailing slash in _PATH_DEV. - * Be *very* defensive. - */ - s = strdup(_PATH_DEV); - if (s != NULL) { - i = strlen(s); - if (i > 0 && s[i - 1] == '/') - s[i - 1] = '\0'; - iov[3].iov_base = s; - iov[3].iov_len = strlen(s) + 1; - } else { - iov[3].iov_base = _path_dev; - iov[3].iov_len = sizeof(_path_dev); + TAILQ_FOREACH(s, &sessions, tqe) { + if (s->se_process == 0) + session_launch(s); } - nmount(iov, 4, 0); - if (s != NULL) - free(s); } - - /* - * We catch or block signals rather than ignore them, - * so that they get reset on exec. - */ - handle(badsys, SIGSYS, 0); - handle(disaster, SIGABRT, SIGFPE, SIGILL, SIGSEGV, - SIGBUS, SIGXCPU, SIGXFSZ, 0); - handle(transition_handler, SIGHUP, SIGINT, SIGTERM, SIGTSTP, - SIGUSR1, SIGUSR2, 0); - handle(alrm_handler, SIGALRM, 0); - sigfillset(&mask); - delset(&mask, SIGABRT, SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGSYS, - SIGXCPU, SIGXFSZ, SIGHUP, SIGINT, SIGTERM, SIGTSTP, SIGALRM, - SIGUSR1, SIGUSR2, 0); - sigprocmask(SIG_SETMASK, &mask, (sigset_t *) 0); - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = SIG_IGN; - (void) sigaction(SIGTTIN, &sa, (struct sigaction *)0); - (void) sigaction(SIGTTOU, &sa, (struct sigaction *)0); - - /* - * Paranoia. - */ - close(0); - close(1); - close(2); - - /* - * Start the state machine. - */ - transition(requested_transition); - - /* - * Should never reach here. - */ - return 1; } -#endif /* * Associate a function with a signal handler. @@ -568,9 +449,7 @@ /* * Bring the system up single user. */ -state_func_t -single_user(void) -{ +void single_user(void) { pid_t pid, wpid; int status; sigset_t mask; @@ -579,7 +458,7 @@ #ifdef SECURE struct ttyent *typ; struct passwd *pp; - static const char banner[] = + static const char banner[] = "Enter root password, or ^D to go multi-user\n"; char *clear, *password; #endif @@ -671,17 +550,17 @@ _exit(1); } +/* We're screwed if we ever get here regardless :/ */ +/* if (pid == -1) { - /* - * We are seriously hosed. Do our best. - */ + // We are seriously hosed. Do our best.\ emergency("can't fork single-user shell, trying again"); while (waitpid(-1, (int *) 0, WNOHANG) > 0) continue; - return (state_func_t) single_user; + //return (state_func_t) single_user; } - requested_transition = 0; +*/ do { if ((wpid = waitpid(-1, &status, WUNTRACED)) != -1) collect_child(wpid); @@ -689,7 +568,7 @@ if (errno == EINTR) continue; warning("wait for single-user shell failed: %m; restarting"); - return (state_func_t) single_user; + //return (state_func_t) single_user; } if (wpid == pid && WIFSTOPPED(status)) { warning("init: shell stopped, restarting\n"); @@ -698,8 +577,8 @@ } } while (wpid != pid && !requested_transition); - if (requested_transition) - return (state_func_t) requested_transition; + //if (requested_transition) + //return (state_func_t) requested_transition; if (!WIFEXITED(status)) { if (WTERMSIG(status) == SIGKILL) { @@ -711,20 +590,18 @@ _exit(0); } else { warning("single user shell terminated, restarting"); - return (state_func_t) single_user; + //return (state_func_t) single_user; } } runcom_mode = FASTBOOT; - return (state_func_t) runcom; + //return (state_func_t) runcom; } /* * Run the system startup script. */ -state_func_t -runcom(void) -{ +void runcom(void) { pid_t pid, wpid; int status; char *argv[4]; @@ -764,24 +641,25 @@ while (waitpid(-1, (int *) 0, WNOHANG) > 0) continue; sleep(STALL_TIMEOUT); - return (state_func_t) single_user; + //return (state_func_t) single_user; } /* * Copied from single_user(). This is a bit paranoid. */ - requested_transition = 0; + //requested_transition = 0; + do { if ((wpid = waitpid(-1, &status, WUNTRACED)) != -1) collect_child(wpid); if (wpid == -1) { - if (requested_transition == death) - return (state_func_t) death; + //if (requested_transition == death) + //return (state_func_t) death; if (errno == EINTR) continue; warning("wait for %s on %s failed: %m; going to single user mode", _PATH_BSHELL, _PATH_RUNCOM); - return (state_func_t) single_user; + //return (state_func_t) single_user; } if (wpid == pid && WIFSTOPPED(status)) { warning("init: %s on %s stopped, restarting\n", @@ -804,16 +682,16 @@ if (!WIFEXITED(status)) { warning("%s on %s terminated abnormally, going to single user mode", _PATH_BSHELL, _PATH_RUNCOM); - return (state_func_t) single_user; + //return (state_func_t) single_user; } - if (WEXITSTATUS(status)) - return (state_func_t) single_user; + //if (WEXITSTATUS(status)) + //return (state_func_t) single_user; runcom_mode = AUTOBOOT; /* the default */ /* NB: should send a message to the session logger to avoid blocking. */ logwtmp("~", "reboot", ""); - return (state_func_t) read_ttys; + //return (state_func_t) read_ttys; } /* ==== //depot/projects/soc2005/launchd/launchd.c#9 (text+ko) ==== @@ -360,10 +360,8 @@ struct timespec *timeoutp = NULL; if (getpid() == 1) { -#ifndef _NO_INIT_ if (readcfg_pid == 0) init_pre_kevent(); -#endif } else { if (TAILQ_EMPTY(&jobs)) { /* launched on demand */ From owner-p4-projects@FreeBSD.ORG Thu Aug 4 07:46:38 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6BB016A421; Thu, 4 Aug 2005 07:46:37 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 99C6116A41F for ; Thu, 4 Aug 2005 07:46:37 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 53CB743D46 for ; Thu, 4 Aug 2005 07:46:37 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j747kbhP058910 for ; Thu, 4 Aug 2005 07:46:37 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j747kb7Y058907 for perforce@freebsd.org; Thu, 4 Aug 2005 07:46:37 GMT (envelope-from soc-cjones@freebsd.org) Date: Thu, 4 Aug 2005 07:46:37 GMT Message-Id: <200508040746.j747kb7Y058907@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 81427 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 07:46:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=81427 Change 81427 by soc-cjones@soc-cjones_ishtar on 2005/08/04 07:46:13 Build _move and _rename. Affected files ... .. //depot/projects/soc2005/gvinum/src/sys/modules/geom/geom_vinum/Makefile#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Aug 4 08:22:52 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA3EA16A421; Thu, 4 Aug 2005 08:22:51 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E0C616A41F for ; Thu, 4 Aug 2005 08:22:51 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4697643D45 for ; Thu, 4 Aug 2005 08:22:51 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j748MpQi060405 for ; Thu, 4 Aug 2005 08:22:51 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j748MoGZ060366 for perforce@freebsd.org; Thu, 4 Aug 2005 08:22:50 GMT (envelope-from soc-cjones@freebsd.org) Date: Thu, 4 Aug 2005 08:22:50 GMT Message-Id: <200508040822.j748MoGZ060366@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 81428 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 08:22:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=81428 Change 81428 by soc-cjones@soc-cjones_ishtar on 2005/08/04 07:59:34 Make _move compile. Affected files ... .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#2 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#2 (text+ko) ==== @@ -45,9 +45,9 @@ static int gv_move_sd(struct gv_softc *, struct gctl_req *, struct gv_sd *, char *, int); static int gv_move_vol(struct gv_softc *, struct gctl_req *, - struct gv_vol *, char *, int); + struct gv_volume *, char *, int); -void gv_move(struct g_geom *, struct gctl_req *) +void gv_move(struct g_geom *gp, struct gctl_req *req) { struct gv_softc *sc; struct gv_volume *v; @@ -84,7 +84,7 @@ gctl_error(req, "unknown volume '%s'", object); return; } - err = gv_move_vol(sc, req, v, *destination, *flags); + err = gv_move_vol(sc, req, v, destination, *flags); if (err) return; break; @@ -94,7 +94,7 @@ gctl_error(req, "unknown plex '%s'", object); return; } - err = gv_move_plex(sc, req, p, *destination, *flags); + err = gv_move_plex(sc, req, p, destination, *flags); if (err) return; break; @@ -104,7 +104,7 @@ gctl_error(req, "unknown subdisk '%s'", object); return; } - err = gv_move_sd(sc, req, s, *destination, *flags); + err = gv_move_sd(sc, req, s, destination, *flags); if (err) return; break; @@ -114,7 +114,7 @@ gctl_error(req, "unknown drive '%s'", object); return; } - err = gv_move_drive(sc, req, d, *destination, *flags); + err = gv_move_drive(sc, req, d, destination, *flags); if (err) return; break; @@ -129,27 +129,47 @@ /* Move a volume. */ static int -gv_move_vol(struct gv_softc *sc, struct gctl_req *req, struct gv_volume *v, char *destination, int flags) +gv_move_vol(struct gv_softc *sc, struct gctl_req *req, struct gv_volume *v, char *destination, int flags) { + int err; + + g_topology_assert(); + KASSERT(d != NULL, ("gv_move_vol: NULL v")); +} -} /* Move a plex. */ static int gv_move_plex(struct gv_softc *sc, struct gctl_req *req, struct gv_plex *p, char *destination, int flags) { + int err; + + g_topology_assert(); + KASSERT(d != NULL, ("gv_move_plex: NULL p")); + return (0); } + /* Move a subdisk. */ static int -gv_move_sd(struct gv_softc *sc, struct gctl_req *req, struct gv_subdisk *s, char *destination, int flags) +gv_move_sd(struct gv_softc *sc, struct gctl_req *req, struct gv_sd *s, char *destination, int flags) { + int err; + + g_topology_assert(); + KASSERT(d != NULL, ("gv_move_sd: NULL s")); + return (0); } /* Move a drive. */ static int gv_move_drive(struct gv_softc *sc, struct gctl_req *req, struct gv_drive *d, char *destination, int flags) { + int err; + + g_topology_assert(); + KASSERT(d != NULL, ("gv_move_drive: NULL d")); + return (0); } From owner-p4-projects@FreeBSD.ORG Thu Aug 4 10:59:27 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8282616A421; Thu, 4 Aug 2005 10:59:26 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5890016A41F for ; Thu, 4 Aug 2005 10:59:26 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F83443D46 for ; Thu, 4 Aug 2005 10:59:26 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74AxPgv073058 for ; Thu, 4 Aug 2005 10:59:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74AxPkC073045 for perforce@freebsd.org; Thu, 4 Aug 2005 10:59:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 4 Aug 2005 10:59:25 GMT Message-Id: <200508041059.j74AxPkC073045@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81437 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 10:59:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=81437 Change 81437 by rwatson@rwatson_zoo on 2005/08/04 10:59:04 Integrate netsmp: - Loop back IPv4 multicast locking. - Cleanup of UMA-related memstat bits. Affected files ... .. //depot/projects/netsmp/src/sys/dev/usb/ums.c#2 integrate .. //depot/projects/netsmp/src/sys/kern/subr_witness.c#4 integrate .. //depot/projects/netsmp/src/sys/netinet/igmp.c#4 integrate .. //depot/projects/netsmp/src/sys/netinet/in.c#6 integrate .. //depot/projects/netsmp/src/sys/netinet/in_var.h#8 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_input.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet/ip_output.c#4 integrate .. //depot/projects/netsmp/src/sys/vm/uma_int.h#2 integrate .. //depot/projects/netsmp/src/sys/vm/vm_page.h#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/dev/usb/ums.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ums.c,v 1.77 2005/01/06 01:43:28 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ums.c,v 1.78 2005/08/04 02:21:37 iedowse Exp $"); /* * HID spec: http://www.usb.org/developers/devclass_docs/HID1_11.pdf @@ -114,8 +114,8 @@ int flags; /* device configuration */ #define UMS_Z 0x01 /* z direction available */ -#define UMS_T 0x02 /* aa direction available (tilt) */ #define UMS_SPUR_BUT_UP 0x02 /* spurious button up events */ +#define UMS_T 0x04 /* aa direction available (tilt) */ int nbuttons; #define MAX_BUTTONS 7 /* chosen because sc_buttons is u_char */ @@ -370,6 +370,7 @@ UID_ROOT, GID_OPERATOR, 0644, "ums%d", device_get_unit(self)); + usb_callout_init(sc->callout_handle); if (usbd_get_quirks(uaa->device)->uq_flags & UQ_SPUR_BUT_UP) { DPRINTF(("%s: Spurious button up events\n", USBDEVNAME(sc->sc_dev))); ==== //depot/projects/netsmp/src/sys/kern/subr_witness.c#4 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.195 2005/06/04 23:24:50 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.196 2005/08/03 19:29:47 rwatson Exp $"); #include "opt_ddb.h" #include "opt_witness.h" ==== //depot/projects/netsmp/src/sys/netinet/igmp.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)igmp.c 8.1 (Berkeley) 7/19/93 - * $FreeBSD: src/sys/netinet/igmp.c,v 1.48 2005/03/26 22:20:22 sam Exp $ + * $FreeBSD: src/sys/netinet/igmp.c,v 1.49 2005/08/03 19:29:46 rwatson Exp $ */ /* ==== //depot/projects/netsmp/src/sys/netinet/in.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * @(#)in.c 8.4 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/netinet/in.c,v 1.85 2005/06/02 00:04:08 iedowse Exp $ + * $FreeBSD: src/sys/netinet/in.c,v 1.86 2005/08/03 19:29:46 rwatson Exp $ */ #include "opt_carp.h" ==== //depot/projects/netsmp/src/sys/netinet/in_var.h#8 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)in_var.h 8.2 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/netinet/in_var.h,v 1.54 2005/08/02 23:51:22 rwatson Exp $ + * $FreeBSD: src/sys/netinet/in_var.h,v 1.55 2005/08/03 19:29:46 rwatson Exp $ */ #ifndef _NETINET_IN_VAR_H_ ==== //depot/projects/netsmp/src/sys/netinet/ip_input.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/netinet/ip_input.c,v 1.302 2005/07/19 12:14:22 rwatson Exp $ + * $FreeBSD: src/sys/netinet/ip_input.c,v 1.303 2005/08/03 19:29:46 rwatson Exp $ */ #include "opt_bootp.h" ==== //depot/projects/netsmp/src/sys/netinet/ip_output.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/netinet/ip_output.c,v 1.242 2005/07/05 23:39:50 rwatson Exp $ + * $FreeBSD: src/sys/netinet/ip_output.c,v 1.243 2005/08/03 19:29:46 rwatson Exp $ */ #include "opt_ipfw.h" ==== //depot/projects/netsmp/src/sys/vm/uma_int.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/vm/uma_int.h,v 1.36 2005/07/16 09:51:52 rwatson Exp $ + * $FreeBSD: src/sys/vm/uma_int.h,v 1.37 2005/08/04 10:03:53 rwatson Exp $ * */ @@ -323,6 +323,7 @@ #define UMA_ZFLAG_FULL 0x40000000 /* Reached uz_maxpages */ #define UMA_ZFLAG_CACHEONLY 0x80000000 /* Don't ask VM for buckets. */ +#ifdef _KERNEL /* Internal prototypes */ static __inline uma_slab_t hash_sfind(struct uma_hash *hash, u_int8_t *data); void *uma_large_malloc(int size, int wait); @@ -412,5 +413,6 @@ */ void *uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *pflag, int wait); void uma_small_free(void *mem, int size, u_int8_t flags); +#endif /* _KERNEL */ #endif /* VM_UMA_INT_H */ ==== //depot/projects/netsmp/src/sys/vm/vm_page.h#2 (text+ko) ==== @@ -57,7 +57,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $FreeBSD: src/sys/vm/vm_page.h,v 1.136 2005/01/07 02:29:27 imp Exp $ + * $FreeBSD: src/sys/vm/vm_page.h,v 1.137 2005/08/04 10:05:11 rwatson Exp $ */ /* @@ -67,7 +67,7 @@ #ifndef _VM_PAGE_ #define _VM_PAGE_ -#if !defined(KLD_MODULE) +#if !defined(KLD_MODULE) && !defined(LIBMEMSTAT) #include "opt_vmpage.h" #endif From owner-p4-projects@FreeBSD.ORG Thu Aug 4 11:07:37 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0C7B16A421; Thu, 4 Aug 2005 11:07:36 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB20B16A41F for ; Thu, 4 Aug 2005 11:07:36 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 55AA543D45 for ; Thu, 4 Aug 2005 11:07:36 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74B7a6d073355 for ; Thu, 4 Aug 2005 11:07:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74B7adD073352 for perforce@freebsd.org; Thu, 4 Aug 2005 11:07:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 4 Aug 2005 11:07:36 GMT Message-Id: <200508041107.j74B7adD073352@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81438 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 11:07:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=81438 Change 81438 by rwatson@rwatson_zoo on 2005/08/04 11:06:58 Annotate problem with if_addr_mtx locking in the vlan code, the reason that I haven't yet merged thes changes. Affected files ... .. //depot/projects/netsmp/src/sys/net/if_vlan.c#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if_vlan.c#3 (text+ko) ==== @@ -188,6 +188,15 @@ } /* Now program new ones. */ + + /* + * XXXRW: Really, this should happen in two steps, interlocked by the + * vlan mutex (if any: first, the parent interface's address list + * should be propagated to the softc, then from the softc to the + * child, in order to avoid holding parent's and child's if_addr_mtx + * at the same time. Races can occur, but won't result in + * incorrectness. Assuming there is a vlan mutex. + */ IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) From owner-p4-projects@FreeBSD.ORG Thu Aug 4 11:43:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABCA816A421; Thu, 4 Aug 2005 11:43:20 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 52B6616A41F for ; Thu, 4 Aug 2005 11:43:20 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A11C43D48 for ; Thu, 4 Aug 2005 11:43:20 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74BhJHH074644 for ; Thu, 4 Aug 2005 11:43:19 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74BhJ5K074641 for perforce@freebsd.org; Thu, 4 Aug 2005 11:43:19 GMT (envelope-from soc-bushman@freebsd.org) Date: Thu, 4 Aug 2005 11:43:19 GMT Message-Id: <200508041143.j74BhJ5K074641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 81439 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 11:43:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=81439 Change 81439 by soc-bushman@soc-bushman_stinger on 2005/08/04 11:42:58 cached work in progress Affected files ... .. //depot/projects/soc2005/nsswitch_cached/cached/Makefile#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/cached.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/config.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/config.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/debug.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/debug.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/log.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/log.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/protocol.c#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/protocol.h#1 add .. //depot/projects/soc2005/nsswitch_cached/cached/query.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/query.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/singletons.c#2 edit .. //depot/projects/soc2005/nsswitch_cached/cached/singletons.h#2 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/cached/Makefile#2 (text+ko) ==== @@ -4,7 +4,7 @@ PROGNAME=cached MAN= -SRCS=cached.c debug.c log.c config.c query.c singletons.c +SRCS=cached.c debug.c log.c config.c query.c singletons.c protocol.c CFLAGS+= -I${.CURDIR}/../ WARNS?=2 LDADD+=${.CURDIR}/../cachelib/libcachelib.a ==== //depot/projects/soc2005/nsswitch_cached/cached/cached.c#2 (text+ko) ==== @@ -1,5 +1,15 @@ #include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include #include "config.h" #include "debug.h" #include "log.h" @@ -15,7 +25,7 @@ } static cache -init_cache_(void) +init_cache_(struct configuration *config) { struct cache_params params; cache retval; @@ -38,22 +48,201 @@ TRACE_OUT(destroy_cache_); } +static struct runtime_env * +init_runtime_env(struct configuration *config) +{ + int serv_addr_len; + struct sockaddr_un serv_addr; + + struct kevent eventlist; + struct timespec timeout; + + struct runtime_env *retval; + + TRACE_IN(init_runtime_env); + retval = (struct runtime_env *)malloc(sizeof(struct runtime_env)); + assert(retval != NULL); + memset(retval, 0, sizeof(struct runtime_env)); + + retval->sockfd = socket(PF_LOCAL, SOCK_STREAM, 0); + + if (config->force_unlink == 1) + unlink(config->socket_path); + + memset(&serv_addr, 0, sizeof(struct sockaddr_un)); + serv_addr.sun_family = PF_LOCAL; + strncpy(serv_addr.sun_path, config->socket_path, sizeof(serv_addr.sun_path)); + serv_addr_len = sizeof(serv_addr.sun_family) + strlen(serv_addr.sun_path) + 1; + + if (bind(retval->sockfd, (struct sockaddr *)&serv_addr, serv_addr_len) == -1) { + TRACE_INT(errno); + close(retval->sockfd); + free(retval); + + TRACE_OUT(init_runtime_env); + return (NULL); + } + chmod(config->socket_path, config->socket_mode); + listen(retval->sockfd, 100); + fcntl(retval->sockfd, F_SETFL, O_NONBLOCK); + + retval->queue = kqueue(); + assert(retval->queue != -1); + + EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, 0); + memset(&timeout, 0, sizeof(struct timespec)); + kevent(retval->queue, &eventlist, 1, NULL, 0, &timeout); + + TRACE_OUT(init_runtime_env); + return (retval); +} + static void -processing_loop(cache the_cache) +destroy_runtime_env(struct runtime_env *env) +{ + TRACE_IN(destroy_runtime_env); + close(env->queue); + close(env->sockfd); + free(env); + TRACE_OUT(destroy_runtime_env); +} + +static void +accept_connection(struct kevent *event_data, struct runtime_env *env, + struct configuration *config) +{ + struct kevent eventlist[2]; + struct timespec timeout; + struct query_state *qstate; + + struct sockaddr addr; + size_t addr_len; + int fd; + + TRACE_IN(accept_connection); + addr_len = sizeof(struct sockaddr); + fd = accept(event_data->ident, &addr, &addr_len); + if (fd == -1) { + /* do something */ + } + + qstate = init_query_state(fd, sizeof(int)); + memset(&timeout, 0, sizeof(struct timespec)); + + EV_SET(&eventlist[0], fd, EVFILT_READ, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, qstate->kevent_watermark, qstate); + EV_SET(&eventlist[1], fd, EVFILT_TIMER, EV_ADD | EV_ONESHOT, + 0, config->query_timeout, qstate); + kevent(env->queue, eventlist, 2, NULL, 0, &timeout); + + TRACE_OUT(accept_connection); +} + +static void +process_socket_event(struct kevent *event_data, struct runtime_env *env, + struct configuration *config) +{ + struct kevent eventlist[1]; + struct timespec timeout; + int nevents; + + TRACE_IN(process_socket_event); + memset(&timeout, 0, sizeof(struct timespec)); + EV_SET(&eventlist[0], event_data->ident, EVFILT_TIMER, EV_DELETE, + 0, 0, NULL); + nevents = kevent(env->queue, eventlist, 1, NULL, 0, &timeout); + if (nevents == -1) { + if (errno == ENOENT) { + /* the timer is already handling this event */ + return; + } else { + /* some other error happened */ + return; + } + } + + TRACE_OUT(process_socket_event); +} + +static void +process_timer_event(struct kevent *event_data, struct runtime_env *env, + struct configuration *config) +{ + struct query_state *qstate; + + TRACE_IN(process_timer_event); + qstate = (struct query_state *)event_data->udata; + destroy_query_state(qstate); + TRACE_OUT(process_timer_event); +} + +static void +processing_loop(cache the_cache, struct runtime_env *env, + struct configuration *config) { + struct timespec timeout; + const int eventlist_size = 1; + struct kevent eventlist[eventlist_size]; + int nevents; + TRACE_IN(processing_loop); + memset(&timeout, 0, sizeof(struct timespec)); + memset(&eventlist, 0, sizeof(struct kevent) * eventlist_size); + + for (;;) { + nevents = kevent(env->queue, NULL, 0, eventlist, eventlist_size, NULL); + + if (nevents == 1) { + struct kevent *event_data; + event_data = &eventlist[0]; + + if (event_data->ident == env->sockfd) + accept_connection(event_data, env, config); + else { + switch (event_data->filter) { + case EVFILT_READ: + case EVFILT_WRITE: + process_socket_event(event_data, env, config); + break; + case EVFILT_TIMER: + process_timer_event(event_data, env, config); + break; + default: + break; + } + } + } else { + /* this branch shouldn't be currently executed */ + } + } + TRACE_OUT(processing_loop); } int main(int argc, char *argv[]) { + /* startup output */ print_version_info(); + + /* configuration initialization */ s_configuration = init_configuration(); - s_cache = init_cache_(); + fill_configuration_defaults(s_configuration); + + /* cache initialization */ + s_cache = init_cache_(s_configuration); + + /* runtime environment initialization */ + s_runtime_env = init_runtime_env(s_configuration); + + processing_loop(s_cache, s_runtime_env, s_configuration); - processing_loop(s_cache); + /* runtime environment destruction */ + destroy_runtime_env(s_runtime_env); + /* cache destruction */ destroy_cache_(s_cache); + + /* configuration destruction */ destroy_configuration(s_configuration); return (0); } ==== //depot/projects/soc2005/nsswitch_cached/cached/config.c#2 (text+ko) ==== @@ -5,7 +5,7 @@ #include #include "debug.h" -#define DEFAULT_SOCKET_PATH "/var/run/cached" +#define DEFAULT_SOCKET_PATH "/tmp/cached" struct configuration * init_configuration(void) @@ -36,6 +36,13 @@ assert(config->socket_path != NULL); memset(config->socket_path, 0, def_sockpath_len); memcpy(config->socket_path, DEFAULT_SOCKET_PATH, def_sockpath_len); + + config->socket_mode = S_IFSOCK | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | + S_IROTH | S_IWOTH; + config->force_unlink = 1; + + config->query_timeout = 8000; + TRACE_OUT(fill_configuration_defaults); } ==== //depot/projects/soc2005/nsswitch_cached/cached/config.h#2 (text+ko) ==== @@ -1,9 +1,15 @@ #ifndef __CACHED_CONFIG_H__ #define __CACHED_CONFIG_H__ +#include + /* the cached configuration parameters */ struct configuration { - char *socket_path; + char *socket_path; + mode_t socket_mode; + int force_unlink; + + int query_timeout; }; struct configuration *init_configuration(void); ==== //depot/projects/soc2005/nsswitch_cached/cached/debug.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/cached/debug.h#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/cached/log.c#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/cached/log.h#2 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/cached/query.c#2 (text+ko) ==== @@ -1,1 +1,315 @@ #include "query.h" +#include +#include +#include +#include +#include +#include +#include +#include "debug.h" +#include "log.h" + +static int on_query_startup(struct query_state *); +static void on_query_destroy(struct query_state *); + +static int on_write_request_read1(struct query_state *); +static int on_write_request_read2(struct query_state *); +static int on_write_request_process(struct query_state *); +static int on_write_response_write1(struct query_state *); + +static int on_read_request_read1(struct query_state *); +static int on_read_request_read2(struct query_state *); +//static int on_read_request_process(struct query_state *); +//static int on_read_response_write1(struct query_state *); +//static int on_read_response_write2(struct query_state *); + +static int on_transform_request_read1(struct query_state *); +//static int on_transform_request_process(struct query_state *); +//static int on_transform_response_write(struct query_state *); + +static int +on_query_startup(struct query_state *qstate) +{ + struct msghdr cred_hdr; + struct iovec iov; + int elem_type; + + struct { + struct cmsghdr hdr; + struct cmsgcred creds; + } cmsg; + + TRACE_IN(on_query_startup); + assert(qstate != NULL); + assert(qstate != NULL); + + memset(&cred_hdr, 0, sizeof(struct msghdr)); + cred_hdr.msg_iov = &iov; + cred_hdr.msg_iovlen = 1; + cred_hdr.msg_control = &cmsg; + cred_hdr.msg_controllen = sizeof(cmsg); + + memset(&iov, 0, sizeof(struct iovec)); + iov.iov_base = &elem_type; + iov.iov_len = sizeof(int); + + if (recvmsg(qstate->sockfd, &cred_hdr, 0) == -1) { + TRACE_OUT(on_query_startup); + return (-1); + } + + if (cmsg.hdr.cmsg_len != sizeof cmsg + || cmsg.hdr.cmsg_level != SOL_SOCKET + || cmsg.hdr.cmsg_type != SCM_CREDS) { + TRACE_OUT(on_query_startup); + return (-1); + } + + qstate->uid = cmsg.creds.cmcred_uid; + qstate->euid = cmsg.creds.cmcred_euid; + qstate->pid = cmsg.creds.cmcred_pid; + + switch (elem_type) { + case CET_WRITE_REQUEST: + qstate->process_func = on_write_request_read1; + break; + case CET_READ_REQUEST: + qstate->process_func = on_read_request_read1; + break; + case CET_TRANSFORM_REQUEST: + qstate->process_func = on_transform_request_read1; + break; + default: + elem_type = -1; + break; + } + + qstate->kevent_watermark = 0; + TRACE_OUT(on_query_startup); + return (0); +} + +static void +on_query_destroy(struct query_state *qstate) +{ + TRACE_IN(on_query_destroy); + finalize_comm_element(&qstate->response); + finalize_comm_element(&qstate->request); + TRACE_OUT(on_query_destroy); +} + +static int +on_write_request_read1(struct query_state *qstate) +{ + struct cache_write_request *write_request; + ssize_t result; + + TRACE_IN(on_write_request_read1); + if (qstate->kevent_watermark == 0) + qstate->kevent_watermark = sizeof(size_t) * 3; + else { + init_comm_element(&qstate->request, CET_WRITE_REQUEST); + write_request = get_cache_write_request(&qstate->request); + + result = qstate->read_func(qstate, &write_request->entry_length, sizeof(size_t)); + result += qstate->read_func(qstate, &write_request->cache_key_length, sizeof(size_t)); + result += qstate->read_func(qstate, &write_request->data_size, sizeof(size_t)); + + if (result != sizeof(size_t) * 3) { + TRACE_OUT(on_write_request_read1); + return (-1); + } + + if ((write_request->entry_length == 0) || + (write_request->cache_key_length == 0) || + (write_request->data_size == 0)) { + TRACE_OUT(on_write_request_read1); + return (-1); + } + + write_request->entry = (char *)malloc(write_request->entry_length + 1); + assert(write_request->entry != NULL); + memset(write_request->entry, 0, write_request->entry_length + 1); + + write_request->cache_key = (char *)malloc(write_request->cache_key_length + 1); + assert(write_request->cache_key != NULL); + memset(write_request->cache_key, 0, write_request->cache_key_length + 1); + + write_request->data = (char *)malloc(write_request->data_size); + assert(write_request->data != NULL); + memset(write_request->data, 0, write_request->data_size); + + qstate->kevent_watermark = write_request->entry_length + + write_request->cache_key_length + write_request->data_size; + qstate->process_func = on_write_request_read2; + } + + TRACE_OUT(on_write_request_read1); + return (0); +} + +static int +on_write_request_read2(struct query_state *qstate) +{ + struct cache_write_request *write_request; + ssize_t result; + + TRACE_IN(on_write_request_read2); + write_request = get_cache_write_request(&qstate->request); + + result = qstate->read_func(qstate, write_request->entry, write_request->entry_length); + result += qstate->read_func(qstate, write_request->cache_key, write_request->cache_key_length); + result += qstate->read_func(qstate, write_request->data, write_request->data_size); + + if (result != qstate->kevent_watermark) { + TRACE_OUT(on_write_request_read2); + return (-1); + } + + qstate->kevent_watermark = 0; + qstate->process_func = on_write_request_process; + TRACE_OUT(on_write_request_read2); + return (0); +} + +static int +on_write_request_process(struct query_state *qstate) +{ + TRACE_IN(on_write_request_process); + init_comm_element(&qstate->response, CET_WRITE_RESPONSE); + + qstate->kevent_watermark = sizeof(int); + qstate->process_func = on_write_response_write1; + TRACE_OUT(on_write_request_process); + return (0); +} + +static int +on_write_response_write1(struct query_state *qstate) +{ + struct cache_write_response *write_response; + ssize_t result; + + TRACE_IN(on_write_response_write1); + write_response = get_cache_write_response(&qstate->response); + result = qstate->write_func(qstate, &write_response->error_code, sizeof(int)); + if (result != sizeof(int)) { + TRACE_OUT(on_write_response_write1); + return (-1); + } + + qstate->kevent_watermark = 0; + qstate->process_func = NULL; + TRACE_OUT(on_write_response_write1); + return (0); +} + +static int +on_read_request_read1(struct query_state *qstate) +{ + struct cache_read_request *read_request; + ssize_t result; + + TRACE_IN(on_read_request_read1); + if (qstate->kevent_watermark == 0) + qstate->kevent_watermark = sizeof(size_t) * 2; + else { + init_comm_element(&qstate->request, CET_READ_REQUEST); + read_request = get_cache_read_request(&qstate->request); + + result = qstate->read_func(qstate, &read_request->entry_length, sizeof(size_t)); + result += qstate->read_func(qstate, &read_request->cache_key_length, sizeof(size_t)); + + if (result != sizeof(size_t) * 2) { + TRACE_OUT(on_read_request_read1); + return (-1); + } + + read_request->entry = (char *)malloc(read_request->entry_length + 1); + assert(read_request->entry != NULL); + memset(read_request->entry, 0, read_request->entry_length + 1); + + read_request->cache_key = (char *)malloc(read_request->cache_key_length + 1); + assert(read_request->cache_key != NULL); + memset(read_request->cache_key, 0, read_request->cache_key_length + 1); + + qstate->kevent_watermark = read_request->entry_length + + read_request->cache_key_length; + qstate->process_func = on_read_request_read2; + } + + TRACE_OUT(on_read_request_read1); + return (0); +} + +static int +on_read_request_read2(struct query_state *qstate) +{ + return (-1); +} + +static int +on_transform_request_read1(struct query_state *qstate) +{ + TRACE_IN(on_transform_request_read1); + TRACE_OUT(on_transform_request_read1); + return (-1); +} + +ssize_t +query_socket_read(struct query_state *qstate, void *buf, size_t nbytes) +{ + ssize_t result; + + TRACE_IN(query_socket_read); + result = read(qstate->sockfd, buf, nbytes); + TRACE_OUT(query_socket_read); + + return (result); +} + +ssize_t +query_socket_write(struct query_state *qstate, const void *buf, size_t nbytes) +{ + ssize_t result; + + TRACE_IN(query_socket_write); + result = write(qstate->sockfd, buf, nbytes); + TRACE_OUT(query_socket_write); + + return (result); +} + +struct query_state * +init_query_state(int sockfd, size_t kevent_watermark) +{ + struct query_state *retval; + + TRACE_IN(init_query_state); + retval = (struct query_state *)malloc(sizeof(struct query_state)); + assert(retval != NULL); + memset(retval, 0, sizeof(struct query_state)); + + retval->sockfd = sockfd; + retval->kevent_filter = EVFILT_READ; + retval->kevent_watermark = kevent_watermark; + + init_comm_element(&retval->request, CET_UNDEFINED); + init_comm_element(&retval->response, CET_UNDEFINED); + retval->process_func = on_query_startup; + retval->destroy_func = on_query_destroy; + + retval->write_func = query_socket_write; + retval->read_func = query_socket_read; + + TRACE_OUT(init_query_state); + return (retval); +} + +void +destroy_query_state(struct query_state *qstate) +{ + TRACE_IN(destroy_query_state); + free(qstate); + TRACE_OUT(destroy_query_state); +} ==== //depot/projects/soc2005/nsswitch_cached/cached/query.h#2 (text+ko) ==== @@ -1,17 +1,44 @@ #ifndef __CACHED_QUERY_H__ #define __CACHED_QUERY_H__ +#include #include +#include +#include "protocol.h" + +struct query_state; +typedef int (*query_process_func)(struct query_state *); +typedef void (*query_destroy_func)(struct query_state *); +typedef ssize_t (*query_read_func)(struct query_state *, void *, size_t); +typedef ssize_t (*query_write_func)(struct query_state *, const void *, size_t); + /* the query state structure contains the information to process all types of * requests and to send all types of responses */ struct query_state { int sockfd; /* the unix socket to read/write */ int kevent_filter; /* EVFILT_READ or EVFILT_WRITE */ size_t kevent_watermark; /* how many bytes do we want to be sent/received */ + + query_process_func process_func; /* called on each event */ + query_destroy_func destroy_func; /* called on destroy */ + + query_write_func write_func; /* data write function */ + query_read_func read_func; /* data read function */ + + struct comm_element request; + struct comm_element response; + void *mdata; + + uid_t euid; /* euid of the caller, recevied via credentials */ + uid_t uid; /* uid of the caller, recevied via credentials */ + pid_t pid; /* pid of the caller, recevied via credentials */ }; -struct query_state *init_query_state(int); +ssize_t query_socket_read(struct query_state *, void *, size_t); +ssize_t query_socket_write(struct query_state *, const void *, size_t); + +struct query_state *init_query_state(int, size_t); void destroy_query_state(struct query_state *); #endif ==== //depot/projects/soc2005/nsswitch_cached/cached/singletons.c#2 (text+ko) ==== @@ -2,3 +2,4 @@ struct configuration *s_configuration = NULL; cache s_cache; /* TODO: initializer needed? */ +struct runtime_env *s_runtime_env = NULL; ==== //depot/projects/soc2005/nsswitch_cached/cached/singletons.h#2 (text+ko) ==== @@ -4,7 +4,13 @@ #include #include "config.h" +struct runtime_env { + int queue; + int sockfd; +}; + extern struct configuration *s_configuration; extern cache s_cache; +extern struct runtime_env *s_runtime_env; #endif From owner-p4-projects@FreeBSD.ORG Thu Aug 4 11:47:26 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F1BF816A421; Thu, 4 Aug 2005 11:47:25 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B5AFC16A41F for ; Thu, 4 Aug 2005 11:47:25 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F2DF43D45 for ; Thu, 4 Aug 2005 11:47:25 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74BlPEW074816 for ; Thu, 4 Aug 2005 11:47:25 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74BlPo4074813 for perforce@freebsd.org; Thu, 4 Aug 2005 11:47:25 GMT (envelope-from soc-andrew@freebsd.org) Date: Thu, 4 Aug 2005 11:47:25 GMT Message-Id: <200508041147.j74BlPo4074813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 81440 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 11:47:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=81440 Change 81440 by soc-andrew@soc-andrew_serv on 2005/08/04 11:46:25 Install a ports tree if asked to. Improve indentation. Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/lib/bsdinstaller/installer/dist.c#5 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#6 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#7 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/lib/bsdinstaller/installer/dist.c#5 (text+ko) ==== @@ -53,90 +53,89 @@ */ struct inf_file * inf_read(const char *dir, const char *dist) { - int fd, chunk, pieces; - properties dist_attr = NULL; - struct inf_file *inf; - char *tmp; - char file[PATH_MAX]; + int fd, chunk, pieces; + properties dist_attr = NULL; + struct inf_file *inf; + char *tmp; + char file[PATH_MAX]; - /* Set file to the location of the .inf file */ - snprintf(file, PATH_MAX, "%s/%s/%s.inf", base, dir, dist); + /* Set file to the location of the .inf file */ + snprintf(file, PATH_MAX, "%s/%s/%s.inf", base, dir, dist); - /* Open the file */ - fd = open(file, O_RDONLY); - if (fd == -1) { - /* XXX */ - return NULL; - } + /* Open the file */ + fd = open(file, O_RDONLY); + if (fd == -1) { + /* XXX */ + return NULL; + } - /* Read the .inf and close */ - dist_attr = properties_read(fd); - close(fd); + /* Read the .inf and close */ + dist_attr = properties_read(fd); + close(fd); - tmp = property_find(dist_attr, "Pieces"); - if (tmp == NULL) { - /* XXX Bad file */ - properties_free(dist_attr); - return NULL; - } + tmp = property_find(dist_attr, "Pieces"); + if (tmp == NULL) { + /* XXX Bad file */ + properties_free(dist_attr); + return NULL; + } - pieces = strtol(tmp, (char **)NULL, 10); - if (pieces <= 0 || pieces == LONG_MAX) { - /* XXX Bad file */ - properties_free(dist_attr); - return NULL; - } + pieces = strtol(tmp, (char **)NULL, 10); + if (pieces <= 0 || pieces == LONG_MAX) { + /* XXX Bad file */ + properties_free(dist_attr); + return NULL; + } - inf = malloc(sizeof(struct inf_file)); - if (inf == NULL) { - /* XXX Out of memory */ - properties_free(dist_attr); - return NULL; - } + inf = malloc(sizeof(struct inf_file)); + if (inf == NULL) { + /* XXX Out of memory */ + properties_free(dist_attr); + return NULL; + } - inf->pieces = pieces; - inf->dir = strdup(dir); - inf->dist = strdup(dist); + inf->pieces = pieces; + inf->dir = strdup(dir); + inf->dist = strdup(dist); - inf->file = malloc(sizeof(struct file) * inf->pieces); - if (inf->file == NULL) { - /* XXX Out of memory */ - inf_free(inf); - properties_free(dist_attr); - return NULL; - } + inf->file = malloc(sizeof(struct file) * inf->pieces); + if (inf->file == NULL) { + /* XXX Out of memory */ + inf_free(inf); + properties_free(dist_attr); + return NULL; + } - for (chunk = 0; chunk < inf->pieces; chunk++) { + for (chunk = 0; chunk < inf->pieces; chunk++) { - snprintf(file, PATH_MAX, "cksum.%c%c", (chunk / 26) + 'a', - (chunk % 26) + 'a'); + snprintf(file, PATH_MAX, "cksum.%c%c", (chunk / 26) + 'a', + (chunk % 26) + 'a'); - tmp = property_find(dist_attr, file); - if (tmp) { - char *len; - int length; - len = index(tmp, ' '); - length = strtol(len, (char **)NULL, 10); - if (length <= 0 || length == LONG_MAX) { - inf_free(inf); - properties_free(dist_attr); - return NULL; - } - inf->file[chunk].checksum = malloc(len-tmp+1); - strncpy(inf->file[chunk].checksum, tmp, len-tmp); - inf->file[chunk].checksum[len-tmp] = '\0'; + tmp = property_find(dist_attr, file); + if (tmp) { + char *len; + int length; + len = index(tmp, ' '); + length = strtol(len, (char **)NULL, 10); + if (length <= 0 || length == LONG_MAX) { + inf_free(inf); + properties_free(dist_attr); + return NULL; + } + inf->file[chunk].checksum = malloc(len-tmp+1); + strncpy(inf->file[chunk].checksum, tmp, len-tmp); + inf->file[chunk].checksum[len-tmp] = '\0'; + inf->file[chunk].length = length; + } else { + inf_free(inf); + properties_free(dist_attr); + return NULL; + } + } - inf->file[chunk].length = length; - } else { - inf_free(inf); - properties_free(dist_attr); - return NULL; - } - } + properties_free(dist_attr); - properties_free(dist_attr); - - return inf; + return inf; } /* @@ -144,25 +143,42 @@ */ void inf_free(struct inf_file *f) { - int chunk; + int chunk; + + if (f == NULL) + return; + + for (chunk=0; chunk < f->pieces; chunk++) + if (f->file[chunk].checksum != NULL) + free(f->file[chunk].checksum); + + if (f->file != NULL) + free(f->file); - if (f == NULL) - return; + if (f->dir != NULL) + free(f->dir); - for (chunk=0; chunk < f->pieces; chunk++) - if (f->file[chunk].checksum != NULL) - free(f->file[chunk].checksum); + if (f->dist != NULL) + free(f->dist); - if (f->file != NULL) - free(f->file); + free(f); +} - if (f->dir != NULL) - free(f->dir); +/* + * The size of the data is saved in the last 4 bytes of a gzip file. + * Extract this and return it + */ +static uint32_t +gzip_getsize(const char *name) { + uint32_t data; + FILE *fd = fopen(name, "r"); - if (f->dist != NULL) - free(f->dist); + fseek(fd, -4, SEEK_END); + fread(&data, 1, 4, fd); + fclose(fd); - free(f); + /* XXX Check in a big endian */ + return data; } /* @@ -171,91 +187,123 @@ */ static void dist_change_file_callback(int pcnt, char *name) { - /* Set the progress bar to pcnd % */ - dfui_progress_set_amount(pr, pcnt); + /* Set the progress bar to pcnd % */ + dfui_progress_set_amount(pr, pcnt); - /* Set the description to the current file */ - if (name != NULL) - dfui_info_set_short_desc(dfui_progress_get_info(pr), name); + /* Set the description to the current file */ + if (name != NULL) + dfui_info_set_short_desc(dfui_progress_get_info(pr), name); - /* Update the progress bar */ - if (!dfui_be_progress_update(conn, pr, &cancelled)) - abort_backend(); + /* Update the progress bar */ + if (!dfui_be_progress_update(conn, pr, &cancelled)) + abort_backend(); } int dist_extract(struct dfui_connection *c, const char *dist) { - struct inf_file * inf; - struct archive *a; - struct archive_entry *entry; - char basename[PATH_MAX]; - char cwd[PATH_MAX]; + struct inf_file * inf; + struct archive *a; + struct archive_entry *entry; + char basename[PATH_MAX]; + char cwd[PATH_MAX]; + int is_ports = 0; + int archive_open; + uint32_t size = 0; + + getcwd(cwd, PATH_MAX); + + /* Read the inf file and get the basename of the files to extract */ + if (dist[0] == 's') { + /* This is a source dist */ + inf = inf_read("src", dist); + snprintf(basename, PATH_MAX, "%s/src/%s.", base, dist); + } else if (strncmp("ports", dist, 6) == 0) { + inf = inf_read(dist, dist); + snprintf(basename, PATH_MAX, "%s/%s/%s.tgz", base, dist, dist); + is_ports = 1; + size = gzip_getsize(basename); + } else { + inf = inf_read(dist, dist); + snprintf(basename, PATH_MAX, "%s/%s/%s.", base, dist, dist); + } + if (is_ports == 0 && inf == NULL) { + /* XXX Problem with inf file */ + printf("ERROR: No inf file\n"); + return 1; + } - getcwd(cwd, PATH_MAX); + /* Create the progress bar */ + pr = dfui_progress_new(dfui_info_new( + "Extracting", + /* + * Just call it the ports tree as it will be changed + * in the non ports tree case + */ + "Ports Tree", + ""), + 0); - if (dist[0] == 's') { - /* This is a source dist */ - inf = inf_read("src", dist); - snprintf(basename, PATH_MAX, "%s/src/%s.", base, dist); - } else { - inf = inf_read(dist, dist); - snprintf(basename, PATH_MAX, "%s/%s/%s.", base, dist, dist); - } - if (inf == NULL) { - /* XXX Problem with inf file */ - return 1; - } + if (!dfui_be_progress_begin(c, pr)) + abort_backend(); + conn = c; - pr = dfui_progress_new(dfui_info_new( - "Extracting", - "No file", - ""), - 0); + a = archive_read_new(); + archive_read_support_compression_all(a); + archive_read_support_format_all(a); - if (!dfui_be_progress_begin(c, pr)) - abort_backend(); - conn = c; + if (is_ports == 0) { + archive_open = read_open_split(a, basename, (inf->pieces / 26) + 'a', + (inf->pieces % 26) + 'a', dist_change_file_callback); + } else { + archive_open = archive_read_open_file(a, basename, 10240); + } - a = archive_read_new(); - archive_read_support_compression_all(a); - archive_read_support_format_all(a); - if(read_open_split(a, basename, (inf->pieces / 26) + 'a', - (inf->pieces % 26) + 'a', dist_change_file_callback) != ARCHIVE_OK) { - printf("ERROR: %s\n", archive_error_string(a)); - archive_read_finish(a); - inf_free(inf); - dfui_progress_free(pr); - return 1; - } + if(archive_open != ARCHIVE_OK) { + /* XXX change to i_log */ + printf("ERROR: %s\n", archive_error_string(a)); + archive_read_finish(a); + inf_free(inf); + dfui_progress_free(pr); + return 1; + } - chdir(location); - while (archive_read_next_header(a, &entry) == ARCHIVE_OK) { - archive_read_extract(a, entry, 0); - archive_read_data_skip(a); - } + chdir(location); + while (archive_read_next_header(a, &entry) == ARCHIVE_OK) { + archive_read_extract(a, entry, 0); + archive_read_data_skip(a); + if (is_ports == 1) { + /* If this is ports display a bar dependent on the + * percent decompressed + */ + uint64_t pos = archive_read_header_position(a); + uint32_t pcnt = (uint32_t)(((double)pos/size)*100); + dfui_progress_set_amount(pr, pcnt); + if (!dfui_be_progress_update(conn, pr, &cancelled)) + abort_backend(); + } + } - archive_read_finish(a); + archive_read_finish(a); - chdir(cwd); - inf_free(inf); - dfui_progress_free(pr); + chdir(cwd); + inf_free(inf); + dfui_progress_free(pr); - return 0; + return 0; } void dist_set_location(const char *loc) { - strlcpy(location, loc, PATH_MAX); + strlcpy(location, loc, PATH_MAX); } void dist_set_base(const char *path) { - - if (path[0] =='/') { - strlcpy(base, path, PATH_MAX); - } else { - char cwd[PATH_MAX]; - getcwd(cwd, PATH_MAX); - snprintf(base, PATH_MAX, "%s/%s", cwd, path); - } + if (path[0] =='/') { + strlcpy(base, path, PATH_MAX); + } else { + char cwd[PATH_MAX]; + getcwd(cwd, PATH_MAX); + snprintf(base, PATH_MAX, "%s/%s", cwd, path); + } } ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/extra_flow.c#6 (text+ko) ==== @@ -65,6 +65,7 @@ #ifdef __amd64__ { "lib32", "32bit Libraries" }, #endif + { "ports", "Ports tree" }, { "src", "Source" }, { NULL, NULL } }; ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#7 (text+ko) ==== @@ -184,6 +184,9 @@ return a->result; } +/* + * Do the actual install + */ int do_install(struct i_fn_args *a) { @@ -196,33 +199,43 @@ struct commands *cmds; struct utsname name; int install_src = 0; + int install_ports = 0; uname(&name); + /* Set base to the location of the dists */ snprintf(base, PATH_MAX, "/usr/%s", name.release); i_log(a, "<<< Extracting distrubutions from %s", base); dist_set_base(base); dist_set_location("/mnt"); - aura_dict_rewind(a->dists); /* * Install the selected dists */ + aura_dict_rewind(a->dists); while (!aura_dict_eof(a->dists)) { + /* Set dist_name */ aura_dict_get_current_key(a->dists, &rk, &rk_len); strlcpy(dist_name, rk, 32); if (rk_len < 32) dist_name[rk_len] = '\0'; - + + /* If this dist is special set the correct flag */ if (strncmp("src", dist_name, 4) == 0) { install_src = 1; + } else if (strncmp("ports", dist_name, 6) == 0) { + install_ports = 1; + + /* Otherwise install the dist */ } else if( dist_extract(a->c, dist_name) != 0) { inform(a->c, _("Distribution %s was not installed."), dist_name); return 0; } aura_dict_next(a->dists); } + + /* The src and ports dists are special and installed last */ if (install_src == 1) { int src_dist = 0; dist_set_location("/mnt/usr/src"); @@ -230,6 +243,10 @@ dist_extract(a->c, SrcDistTable[src_dist]); } } + if (install_ports == 1) { + dist_set_location("/mnt/usr"); + printf("%d\n", dist_extract(a->c, "ports")); + } i_log(a, ">>> Done"); i_log(a, ""); From owner-p4-projects@FreeBSD.ORG Thu Aug 4 12:21:07 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B7DAA16A421; Thu, 4 Aug 2005 12:21:06 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 71E2216A41F for ; Thu, 4 Aug 2005 12:21:06 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4591F43D45 for ; Thu, 4 Aug 2005 12:21:06 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74CL6jQ076341 for ; Thu, 4 Aug 2005 12:21:06 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74CL6Wp076338 for perforce@freebsd.org; Thu, 4 Aug 2005 12:21:06 GMT (envelope-from soc-saturnero@freebsd.org) Date: Thu, 4 Aug 2005 12:21:06 GMT Message-Id: <200508041221.j74CL6Wp076338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81441 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 12:21:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=81441 Change 81441 by soc-saturnero@soc-saturnero_sberta on 2005/08/04 12:20:06 Adding volume id Affected files ... .. //depot/projects/soc2005/freesbie/scripts/powerpc/iso.sh#2 edit Differences ... ==== //depot/projects/soc2005/freesbie/scripts/powerpc/iso.sh#2 (text+ko) ==== @@ -41,10 +41,10 @@ echo "Running mkisofs..." -mkisofs -hfs-bless boot -map ${SRCDIR}/release/powerpc/hfs.map -r -hfs -part -no-desktop -hfs-volid FreeSBIE -ldots -J -o $ISOPATH . >> ${LOGFILE} 2>&1 +mkisofs -hfs-bless boot -map ${SRCDIR}/release/powerpc/hfs.map -r -hfs -part -no-desktop -hfs-volid FreeSBIE -V FreeSBIE -l -J -L -o $ISOPATH . >> ${LOGFILE} 2>&1 echo "ISO created:" ls -lh ${ISOPATH} -cd ${LOCALDIR}+cd ${LOCALDIR} From owner-p4-projects@FreeBSD.ORG Thu Aug 4 12:42:33 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 494AB16A421; Thu, 4 Aug 2005 12:42:33 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 232FE16A41F for ; Thu, 4 Aug 2005 12:42:33 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB2A243D46 for ; Thu, 4 Aug 2005 12:42:32 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74CgWwP077231 for ; Thu, 4 Aug 2005 12:42:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74CgWYP077228 for perforce@freebsd.org; Thu, 4 Aug 2005 12:42:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 4 Aug 2005 12:42:32 GMT Message-Id: <200508041242.j74CgWYP077228@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81443 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 12:42:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=81443 Change 81443 by rwatson@rwatson_zoo on 2005/08/04 12:41:46 Rename IFF_OACTIVE to IFF_DRV_OACTIVE, and IFF_RUNNING to IFF_DRV_RUNNING. Comment on how and why. Make it so kernel code breaks if it uses them, but user code doesn't, for API compatibility reasons. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.h#2 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.h#2 (text+ko) ==== @@ -109,17 +109,33 @@ struct timeval ifi_lastchange; /* time of last administrative change */ }; +/* + * Interface flags are of two types: network stack owned flags, and driver + * owned flags. Historically, these values were stored in the same ifnet + * flags field, but with the advent of fine-grained locking, they have been + * broken out such that the network stack is responsible for synchronizing + * the stack-owned fields, and the device driver the device-owned fields. + * Both halves can perform lockless reads of the other half's field, subject + * to accepting the involved races. + * + * Both sets of flags come from the same number space, and should not be + * permitted to conflict, as they are exposed to user space via a single + * field. + * + * For historical reasons, the old flag names for driver flags are exposed to + * user space. + */ #define IFF_UP 0x1 /* interface is up */ #define IFF_BROADCAST 0x2 /* broadcast address valid */ #define IFF_DEBUG 0x4 /* turn on debugging */ #define IFF_LOOPBACK 0x8 /* is a loopback net */ #define IFF_POINTOPOINT 0x10 /* interface is point-to-point link */ #define IFF_SMART 0x20 /* interface manages own routes */ -#define IFF_RUNNING 0x40 /* resources allocated */ +#define IFF_DRV_RUNNING 0x40 /* resources allocated */ #define IFF_NOARP 0x80 /* no address resolution protocol */ #define IFF_PROMISC 0x100 /* receive all packets */ #define IFF_ALLMULTI 0x200 /* receive all multicast packets */ -#define IFF_OACTIVE 0x400 /* tx hardware queue is full */ +#define IFF_DRV_OACTIVE 0x400 /* tx hardware queue is full */ #define IFF_SIMPLEX 0x800 /* can't hear own transmissions */ #define IFF_LINK0 0x1000 /* per link layer defined bit */ #define IFF_LINK1 0x2000 /* per link layer defined bit */ @@ -132,6 +148,15 @@ #define IFF_STATICARP 0x80000 /* static ARP */ #define IFF_NEEDSGIANT 0x100000 /* hold Giant over if_start calls */ +/* + * Old names for driver flags so that user space tools can continue to use + * the old names. + */ +#ifndef _KERNEL +#define IFF_RUNNING IFF_DRV_RUNNING +#define IFF_OACTIVE IFF_DRV_OACTIVE +#endif + /* flags set internally only: */ #define IFF_CANTCHANGE \ (IFF_BROADCAST|IFF_POINTOPOINT|IFF_RUNNING|IFF_OACTIVE|\ From owner-p4-projects@FreeBSD.ORG Thu Aug 4 13:01:58 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 838C416A421; Thu, 4 Aug 2005 13:01:57 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4022816A41F for ; Thu, 4 Aug 2005 13:01:57 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BFFAA43D46 for ; Thu, 4 Aug 2005 13:01:56 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74D1uK6085070 for ; Thu, 4 Aug 2005 13:01:56 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74D1uON085067 for perforce@freebsd.org; Thu, 4 Aug 2005 13:01:56 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 4 Aug 2005 13:01:56 GMT Message-Id: <200508041301.j74D1uON085067@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81444 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 13:01:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=81444 Change 81444 by rwatson@rwatson_zoo on 2005/08/04 13:01:38 Supporting paperwork for _DRV_ changes on flags: inspect, annotate, assert in various if.c flag-related activities, especially for functions that simply expect a variable flag argument. Annotate that currently all _DRV_ flags are not changeable from user space, so don't require special handling. However, for monitoring purposes, mix them into the flags returned to user space. Affected files ... .. //depot/projects/netsmp/src/sys/net/if.c#8 edit .. //depot/projects/netsmp/src/sys/net/if.h#3 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if.c#8 (text+ko) ==== @@ -1030,6 +1030,8 @@ { struct ifaddr *ifa; + KASSERT(flag == IFF_UP, ("if_unroute: flag != IFF_UP")); + ifp->if_flags &= ~flag; getmicrotime(&ifp->if_lastchange); TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) @@ -1053,6 +1055,8 @@ { struct ifaddr *ifa; + KASSERT(flag == IFF_UP, ("if_route: flag != IFF_UP")); + ifp->if_flags |= flag; getmicrotime(&ifp->if_lastchange); TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) @@ -1230,7 +1234,7 @@ struct ifreq *ifr; struct ifstat *ifs; int error = 0; - int new_flags; + int new_flags, temp_flags; size_t namelen, onamelen; char new_name[IFNAMSIZ]; struct ifaddr *ifa; @@ -1243,8 +1247,9 @@ break; case SIOCGIFFLAGS: - ifr->ifr_flags = ifp->if_flags & 0xffff; - ifr->ifr_flagshigh = ifp->if_flags >> 16; + temp_flags = ifp->if_flags | ifp->if_drv_flags; + ifr->ifr_flags = temp_flags & 0xffff; + ifr->ifr_flagshigh = temp_flags >> 16; break; case SIOCGIFCAP: @@ -1274,6 +1279,11 @@ error = suser(td); if (error) return (error); + /* + * XXXRW: Currently, no driver owned flags pass the + * IFF_CANTCHANGE check, so we don't need special handling + * here yet. + */ new_flags = (ifr->ifr_flags & 0xffff) | (ifr->ifr_flagshigh << 16); if (ifp->if_flags & IFF_SMART) { @@ -1611,10 +1621,12 @@ } /* - * The code common to hadling reference counted flags, + * The code common to handling reference counted flags, * e.g., in ifpromisc() and if_allmulti(). * The "pflag" argument can specify a permanent mode flag, * such as IFF_PPROMISC for promiscuous mode; should be 0 if none. + * + * XXXRW: Only to be used on stack-owned flags, not driver-owned flags. */ static int if_setflag(struct ifnet *ifp, int flag, int pflag, int *refcount, int onswitch) @@ -1623,6 +1635,9 @@ int error; int oldflags, oldcount; + KASSERT((flag & (IFF_DRV_OACTIVE|IFF_DRV_RUNNING)) == 0, + ("if_setflag: setting driver-ownded flag %d", flag)); + /* Sanity checks to catch programming errors */ if (onswitch) { if (*refcount < 0) { @@ -2259,7 +2274,11 @@ ifp->if_obytes += m->m_pkthdr.len + adjust; if (m->m_flags & (M_BCAST|M_MCAST)) ifp->if_omcasts++; - active = ifp->if_flags & IFF_OACTIVE; + /* + * XXXRW: Technically, we'd like the driver to do this to + * avoid races. + */ + active = ifp->if_drv_flags & IFF_DRV_OACTIVE; } _IF_ENQUEUE(ifq, m); IF_UNLOCK(ifq); ==== //depot/projects/netsmp/src/sys/net/if.h#3 (text+ko) ==== @@ -159,7 +159,7 @@ /* flags set internally only: */ #define IFF_CANTCHANGE \ - (IFF_BROADCAST|IFF_POINTOPOINT|IFF_RUNNING|IFF_OACTIVE|\ + (IFF_BROADCAST|IFF_POINTOPOINT|IFF_DRV_RUNNING|IFF_DRV_OACTIVE|\ IFF_SIMPLEX|IFF_MULTICAST|IFF_ALLMULTI|IFF_SMART|IFF_PROMISC|\ IFF_POLLING) From owner-p4-projects@FreeBSD.ORG Thu Aug 4 13:45:04 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E582816A421; Thu, 4 Aug 2005 13:45:03 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B3B3016A41F; Thu, 4 Aug 2005 13:45:03 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4388743D48; Thu, 4 Aug 2005 13:45:03 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from [10.50.40.201] (Not Verified[65.202.103.25]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Thu, 04 Aug 2005 09:59:42 -0400 From: John Baldwin To: Peter Wemm Date: Thu, 4 Aug 2005 09:24:02 -0400 User-Agent: KMail/1.8 References: <200508032229.j73MTQDL025132@repoman.freebsd.org> In-Reply-To: <200508032229.j73MTQDL025132@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200508040924.03004.jhb@FreeBSD.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 81419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 13:45:05 -0000 On Wednesday 03 August 2005 06:29 pm, Peter Wemm wrote: > http://perforce.freebsd.org/chv.cgi?CH=81419 > > Change 81419 by peter@peter_overcee on 2005/08/03 22:29:12 > > Integ -b i386_hammer (extint stuff) Actually, I'm not sure that amd64 should have this as it's only a workaround for some old p3-based hardware, though it probably doesn't hurt to have it I guess. > Affected files ... > > .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 integrate > .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 integrate > > Differences ... > > ==== //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 (text+ko) ==== > > > ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 (text+ko) ==== > > @@ -40,6 +40,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -130,6 +131,12 @@ > static int bsp_id, current_cluster, logical_clusters, next_ioapic_base; > static u_int next_id, program_logical_dest; > > +SYSCTL_NODE(_hw, OID_AUTO, apic, CTLFLAG_RD, 0, "APIC options"); > +static int enable_extint; > +SYSCTL_INT(_hw_apic, OID_AUTO, enable_extint, CTLFLAG_RDTUN, > &enable_extint, 0, + "Enable the ExtINT pin in the first I/O APIC"); > +TUNABLE_INT("hw.apic.enable_extint", &enable_extint); > + > static __inline void > _ioapic_eoi_source(struct intsrc *isrc) > { > @@ -287,7 +294,7 @@ > switch (intpin->io_vector) { > case VECTOR_EXTINT: > KASSERT(intpin->io_edgetrigger, > - ("EXTINT not edge triggered")); > + ("ExtINT not edge triggered")); > low |= IOART_DELEXINT; > break; > case VECTOR_NMI: > @@ -681,7 +688,10 @@ > return (EINVAL); > io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; > io->io_pins[pin].io_vector = VECTOR_EXTINT; > - io->io_pins[pin].io_masked = 1; > + if (enable_extint) > + io->io_pins[pin].io_masked = 0; > + else > + io->io_pins[pin].io_masked = 1; > io->io_pins[pin].io_edgetrigger = 1; > io->io_pins[pin].io_activehi = 1; > if (bootverbose) -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Thu Aug 4 15:56:30 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBD9716A422; Thu, 4 Aug 2005 15:56:29 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C26FE16A41F for ; Thu, 4 Aug 2005 15:56:29 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6354743D45 for ; Thu, 4 Aug 2005 15:56:29 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74FuTRB095352 for ; Thu, 4 Aug 2005 15:56:29 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74FuTbW095349 for perforce@freebsd.org; Thu, 4 Aug 2005 15:56:29 GMT (envelope-from sam@freebsd.org) Date: Thu, 4 Aug 2005 15:56:29 GMT Message-Id: <200508041556.j74FuTbW095349@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81450 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 15:56:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=81450 Change 81450 by sam@sam_ebb on 2005/08/04 15:56:06 o don't roam if bgscan is disabled; need to decide what the right semantics are o pass debug mask into match_bss so we get msgs only when desired Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#3 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_scan_sta.c#3 (text+ko) ==== @@ -108,7 +108,7 @@ static void sta_flush_table(struct sta_table *); static int match_bss(struct ieee80211com *, - const struct ieee80211_scan_state *, const struct sta_entry *); + const struct ieee80211_scan_state *, const struct sta_entry *, int); /* number of references from net80211 layer */ static int nrefs = 0; @@ -289,7 +289,7 @@ * If looking for a quick choice and nothing's * been found check here. */ - if (PICK1ST(ss) && match_bss(ic, ss, se) == 0) + if (PICK1ST(ss) && match_bss(ic, ss, se, IEEE80211_MSG_SCAN) == 0) ss->ss_flags |= IEEE80211_SCAN_GOTPICK; return 1; @@ -702,7 +702,8 @@ */ static int match_bss(struct ieee80211com *ic, - const struct ieee80211_scan_state *ss, const struct sta_entry *se0) + const struct ieee80211_scan_state *ss, const struct sta_entry *se0, + int debug) { const struct ieee80211_scan_entry *se = &se0->base; u_int8_t rate; @@ -753,7 +754,7 @@ if (se->se_rssi < STA_RSSI_MIN) fail |= 0x100; #ifdef IEEE80211_DEBUG - if (ieee80211_msg(ic, IEEE80211_MSG_SCAN | IEEE80211_MSG_ROAM)) { + if (ieee80211_msg(ic, debug)) { printf(" %c %s", fail & 0x40 ? '=' : fail & 0x80 ? '^' : fail ? '-' : '+', ether_sprintf(se->se_macaddr)); @@ -815,16 +816,16 @@ } static struct sta_entry * -select_bss(struct ieee80211_scan_state *ss, struct ieee80211com *ic) +select_bss(struct ieee80211_scan_state *ss, struct ieee80211com *ic, int debug) { struct sta_table *st = ss->ss_priv; struct sta_entry *se, *selbs = NULL; - IEEE80211_DPRINTF(ic, IEEE80211_MSG_SCAN | IEEE80211_MSG_ROAM, " %s\n", + IEEE80211_DPRINTF(ic, debug, " %s\n", "macaddr bssid chan rssi rate flag wep essid"); mtx_lock(&st->st_lock); TAILQ_FOREACH(se, &st->st_entry, se_list) { - if (match_bss(ic, ss, se) == 0) { + if (match_bss(ic, ss, se, debug) == 0) { if (selbs == NULL) selbs = se; else if (sta_compare(se, selbs) > 0) @@ -882,7 +883,7 @@ st->st_newscan = 1; return 0; /* restart scan */ } - selbs = select_bss(ss, ic); + selbs = select_bss(ss, ic, IEEE80211_MSG_SCAN); if (selbs == NULL || !ieee80211_sta_join(ic, &selbs->base)) goto notfound; return 1; /* terminate scan */ @@ -943,12 +944,11 @@ "%s: currssi %d currate %u roamrssi %d roamrate %u\n", __func__, curRssi, curRate, roamRssi, roamRate); } else { - curRate = roamRate; /* NB: insure compare below fails */ + curRate = roamRate; /* NB: insure compare below fails */ IEEE80211_DPRINTF(ic, IEEE80211_MSG_ROAM, "%s: currssi %d roamrssi %d\n", __func__, curRssi, roamRssi); } - if ((ic->ic_flags & IEEE80211_F_BGSCAN) && - time_after(ticks, ic->ic_lastscan + ic->ic_scanvalid)) { + if (time_after(ticks, ic->ic_lastscan + ic->ic_scanvalid)) { /* * Scan cache contents is too old; check about updating it. */ @@ -974,9 +974,15 @@ */ if (curRate < roamRate || curRssi < roamRssi) { se->base.se_rssi = curRssi; - selbs = select_bss(ss, ic); - if (selbs != NULL && selbs != se) + selbs = select_bss(ss, ic, IEEE80211_MSG_ROAM); + if (selbs != NULL && selbs != se) { + IEEE80211_DPRINTF(ic, + IEEE80211_MSG_ROAM | IEEE80211_MSG_DEBUG, + "%s: ROAM: curRate %u, roamRate %u, " + "curRssi %d, roamRssi %d\n", __func__, + curRate, roamRate, curRssi, roamRssi); ieee80211_sta_join(ic, &selbs->base); + } } } } @@ -1008,10 +1014,12 @@ * in sta mode and automatic roaming is set. * XXX defer if busy * XXX repeater station + * XXX do when !bgscan? */ KASSERT(ic->ic_opmode == IEEE80211_M_STA, ("wrong mode %u", ic->ic_opmode)); if (ic->ic_roaming == IEEE80211_ROAMING_AUTO && + (ic->ic_flags & IEEE80211_F_BGSCAN) && ic->ic_state >= IEEE80211_S_RUN) /* XXX vap is implicit */ sta_roam_check(ss, ic); @@ -1296,7 +1304,7 @@ st->st_newscan = 1; return 0; /* restart scan */ } - selbs = select_bss(ss, ic); + selbs = select_bss(ss, ic, IEEE80211_MSG_SCAN); if (selbs == NULL || !ieee80211_sta_join(ic, &selbs->base)) goto notfound; return 1; /* terminate scan */ From owner-p4-projects@FreeBSD.ORG Thu Aug 4 16:14:52 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A80416A421; Thu, 4 Aug 2005 16:14:52 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4FF3A16A41F for ; Thu, 4 Aug 2005 16:14:52 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2479D43D46 for ; Thu, 4 Aug 2005 16:14:52 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74GEpjm096059 for ; Thu, 4 Aug 2005 16:14:52 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74GEpDi096056 for perforce@freebsd.org; Thu, 4 Aug 2005 16:14:51 GMT (envelope-from sam@freebsd.org) Date: Thu, 4 Aug 2005 16:14:51 GMT Message-Id: <200508041614.j74GEpDi096056@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81451 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 16:14:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=81451 Change 81451 by sam@sam_ebb on 2005/08/04 16:14:36 report negotiated settings for ff and dturbo when associated Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#45 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#45 (text+ko) ==== @@ -578,6 +578,20 @@ } /* + * Return the current ``state'' of an Atheros capbility. + * If associated in station mode report the negotiated + * setting. Otherwise report the current setting. + */ +static int +getathcap(struct ieee80211com *ic, int cap) +{ + if (ic->ic_opmode == IEEE80211_M_STA && ic->ic_state == IEEE80211_S_RUN) + return IEEE80211_ATH_CAP(ic, ic->ic_bss, cap) != 0; + else + return (ic->ic_flags & cap) != 0; +} + +/* * When building the kernel with -O2 on the i386 architecture, gcc * seems to want to inline this function into ieee80211_ioctl() * (which is the only routine that calls it). When this happens, @@ -808,10 +822,10 @@ ireq->i_val = (ic->ic_flags & IEEE80211_F_PUREG) != 0; break; case IEEE80211_IOC_FF: - ireq->i_val = (ic->ic_flags & IEEE80211_F_FF) != 0; + ireq->i_val = getathcap(ic, IEEE80211_F_FF); break; case IEEE80211_IOC_TURBOP: - ireq->i_val = (ic->ic_flags & IEEE80211_F_TURBOP) != 0; + ireq->i_val = getathcap(ic, IEEE80211_F_TURBOP); break; case IEEE80211_IOC_BGSCAN: ireq->i_val = (ic->ic_flags & IEEE80211_F_BGSCAN) != 0; From owner-p4-projects@FreeBSD.ORG Thu Aug 4 16:15:54 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58BBA16A421; Thu, 4 Aug 2005 16:15:54 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 31C9216A41F for ; Thu, 4 Aug 2005 16:15:54 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E1CD743D48 for ; Thu, 4 Aug 2005 16:15:53 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74GFrhh096165 for ; Thu, 4 Aug 2005 16:15:53 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74GFrGw096162 for perforce@freebsd.org; Thu, 4 Aug 2005 16:15:53 GMT (envelope-from sam@freebsd.org) Date: Thu, 4 Aug 2005 16:15:53 GMT Message-Id: <200508041615.j74GFrGw096162@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81452 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 16:15:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=81452 Change 81452 by sam@sam_ebb on 2005/08/04 16:15:47 revamp ath protocol handling to be like madwifi Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.h#12 edit .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#59 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#61 edit .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#30 edit .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#53 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#34 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#21 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#33 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.h#12 (text+ko) ==== @@ -445,7 +445,10 @@ #define ATHEROS_CAP_TURBO_PRIME 0x01 /* dynamic turbo--aka Turbo' */ #define ATHEROS_CAP_COMPRESSION 0x02 /* data compression */ #define ATHEROS_CAP_FAST_FRAME 0x04 /* fast (jumbo) frames */ -/* bits 3-6 reserved */ +#define ATHEROS_CAP_XR 0x08 /* Xtended Range support */ +#define ATHEROS_CAP_AR 0x10 /* Advanded Radar support */ +#define ATHEROS_CAP_BURST 0x20 /* Bursting - not negotiated */ +#define ATHEROS_CAP_WME 0x40 /* CWMin tuning */ #define ATHEROS_CAP_BOOST 0x80 /* use turbo/!turbo mode */ u_int8_t ath_defkeyix[2]; } __packed; ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#59 (text+ko) ==== @@ -479,7 +479,7 @@ IEEE80211_NODE_STAT_ADD(ni, rx_bytes, m->m_pkthdr.len); #define FF_LLC_SIZE (sizeof(struct ether_header) + sizeof(struct llc)) - if ((ni->ni_flags & IEEE80211_NODE_FF) && + if ((ni->ni_ath_flags & IEEE80211_NODE_FF) && m->m_pkthdr.len >= 3*FF_LLC_SIZE) { struct llc *llc; @@ -1824,7 +1824,8 @@ struct ieee80211com *ic = ni->ni_ic; const struct ieee80211_ath_ie *ath; u_int len = frm[1]; - int caps; + int capschanged; + u_int16_t defkeyix; if (len < sizeof(struct ieee80211_ath_ie)-2) { IEEE80211_DISCARD_IE(ic, @@ -1833,22 +1834,44 @@ return -1; } ath = (const struct ieee80211_ath_ie *)frm; - caps = 0; - if ((ath->ath_capability & ATHEROS_CAP_TURBO_PRIME) && - (ic->ic_flags & IEEE80211_F_TURBOP)) - caps |= IEEE80211_NODE_TURBOP; - if ((ath->ath_capability & ATHEROS_CAP_FAST_FRAME) && - (ic->ic_flags & IEEE80211_F_FF)) - caps |= IEEE80211_NODE_FF; - if ((ni->ni_flags ^ caps) & IEEE80211_NODE_ATH) { + capschanged = (ni->ni_ath_flags != ath->ath_capability); + defkeyix = LE_READ_2(ath->ath_defkeyix); + if (capschanged || defkeyix != ni->ni_ath_defkeyix) { + ni->ni_ath_flags = ath->ath_capability; + ni->ni_ath_defkeyix = defkeyix; IEEE80211_DPRINTF(ic, IEEE80211_MSG_SUPERG, - "[%s] ath ie: caps 0x%x defkeyix 0x%x, use 0x%x\n", + "[%s] ath ie change: new caps 0x%x defkeyix 0x%x\n", ether_sprintf(ni->ni_macaddr), - ath->ath_capability, LE_READ_2(ath->ath_defkeyix), caps); - ni->ni_flags = (ni->ni_flags &~ IEEE80211_NODE_ATH) | caps; - return 1; - } else - return 0; /* NB: no change */ + ni->ni_ath_flags, ni->ni_ath_defkeyix); + } + if (IEEE80211_ATH_CAP(ic, ni, ATHEROS_CAP_TURBO_PRIME)) { + u_int16_t curflags, newflags; + + /* + * Check for turbo mode switch. Calculate flags + * for the new mode and effect the switch. + */ + newflags = curflags = ic->ic_bsschan->ic_flags; + /* NB: BOOST is not in ic_flags, so get it from the ie */ + if (ath->ath_capability & ATHEROS_CAP_BOOST) + newflags |= IEEE80211_CHAN_TURBO; + else + newflags &= ~IEEE80211_CHAN_TURBO; + if (newflags != curflags) + ieee80211_dturbo_switch(ic, newflags); + } + return capschanged; +} + +void +ieee80211_saveath(struct ieee80211_node *ni, u_int8_t *ie) +{ + const struct ieee80211_ath_ie *ath = + (const struct ieee80211_ath_ie *) ie; + + ni->ni_ath_flags = ath->ath_capability; + ni->ni_ath_defkeyix = LE_READ_2(&ath->ath_defkeyix); + ieee80211_saveie(&ni->ni_ath_ie, ie); } void @@ -1868,18 +1891,6 @@ /* XXX note failure */ } -void -ieee80211_saveath(struct ieee80211_node *ni, u_int8_t *ie) -{ -#if 0 - const struct ieee80211_ath_ie *ath = - (const struct ieee80211_ath_ie *) ie; - - ni->ni_ath_flags = ath->ath_capability; -#endif - ieee80211_saveie(&ni->ni_ath_ie, ie); -} - static __inline int contbgscan(struct ieee80211com *ic) { @@ -2245,10 +2256,6 @@ "[%s] recv probe req\n", ether_sprintf(wh->i_addr2)); ni->ni_rssi = rssi; ni->ni_rstamp = rstamp; - if (ath != NULL) { - ieee80211_saveie(&ni->ni_ath_ie, ath); - (void) ieee80211_parse_athparams(ni, ath, wh); - } rate = ieee80211_setup_rates(ni, rates, xrates, IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE | IEEE80211_F_DONEGO | IEEE80211_F_DODEL); @@ -2264,7 +2271,8 @@ if (allocbs && ic->ic_opmode != IEEE80211_M_IBSS) { /* reclaim immediately */ ieee80211_free_node(ni); - } + } else if (ath != NULL) + ieee80211_saveath(ni, ath); break; case IEEE80211_FC0_SUBTYPE_AUTH: { @@ -2543,15 +2551,14 @@ * record the information element for * applications that require it. */ - ieee80211_saveie(&ni->ni_ath_ie, ath); - (void) ieee80211_parse_athparams(ni, ath, wh); + ieee80211_saveath(ni, ath); } else if (ni->ni_ath_ie != NULL) { /* * Flush any state from a previous association. */ FREE(ni->ni_ath_ie, M_DEVBUF); ni->ni_ath_ie = NULL; - ni->ni_flags &= ~IEEE80211_NODE_ATH; + ni->ni_ath_flags = 0; } ieee80211_node_join(ic, ni, resp); break; @@ -2672,8 +2679,10 @@ ic->ic_flags&IEEE80211_F_SHSLOT ? "short" : "long", ic->ic_flags&IEEE80211_F_USEPROT ? ", protection" : "", ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", - ni->ni_flags & IEEE80211_NODE_FF ? ", fast-frames" : "", - ni->ni_flags & IEEE80211_NODE_TURBOP ? ", turbo'" : "" + IEEE80211_ATH_CAP(ic, ni, IEEE80211_NODE_FF) ? + ", fast-frames" : "", + IEEE80211_ATH_CAP(ic, ni, IEEE80211_NODE_TURBOP) ? + ", turbo" : "" ); ieee80211_new_state(ic, IEEE80211_S_RUN, subtype); break; ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#61 (text+ko) ==== @@ -727,6 +727,7 @@ ieee80211_crypto_resetkey(ic, &ni->ni_ucastkey, IEEE80211_KEYIX_NONE); ni->ni_inact_reload = nt->nt_inact_init; ni->ni_inact = ni->ni_inact_reload; + ni->ni_ath_defkeyix = 0x7fff; IEEE80211_NODE_SAVEQ_INIT(ni, "unknown"); IEEE80211_NODE_LOCK(nt); @@ -1552,8 +1553,10 @@ ic->ic_flags & IEEE80211_F_SHSLOT ? "short" : "long", ic->ic_flags & IEEE80211_F_USEPROT ? ", protection" : "", ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", - ni->ni_flags & IEEE80211_NODE_FF ? ", fast-frames" : "", - ni->ni_flags & IEEE80211_NODE_TURBOP ? ", turbo'" : "" + IEEE80211_ATH_CAP(ic, ni, IEEE80211_NODE_FF) ? + ", fast-frames" : "", + IEEE80211_ATH_CAP(ic, ni, IEEE80211_NODE_TURBOP) ? + ", turbo" : "" ); /* give driver a chance to setup state like ni_txrate */ ==== //depot/projects/wifi/sys/net80211/ieee80211_node.h#30 (text+ko) ==== @@ -94,6 +94,15 @@ u_int ni_refcnt; u_int ni_scangen; /* gen# for timeout scan */ u_int8_t ni_authmode; /* authentication algorithm */ + u_int8_t ni_ath_flags; /* Atheros feature flags */ + /* NB: These must have the same values as IEEE80211_ATHC_* */ +#define IEEE80211_NODE_TURBOP 0x0001 /* Turbo prime enable */ +#define IEEE80211_NODE_COMP 0x0002 /* Compresssion enable */ +#define IEEE80211_NODE_FF 0x0004 /* Fast Frame capable */ +#define IEEE80211_NODE_XR 0x0008 /* Atheros WME enable */ +#define IEEE80211_NODE_AR 0x0010 /* AR capable */ +#define IEEE80211_NODE_BOOST 0x0080 +#define IEEE80211_NODE_PS_CHANGED 0x0200 /* PS state change */ u_int16_t ni_flags; /* special-purpose state */ #define IEEE80211_NODE_AUTH 0x0001 /* authorized for data */ #define IEEE80211_NODE_QOS 0x0002 /* QoS enabled */ @@ -101,8 +110,7 @@ /* NB: this must have the same value as IEEE80211_FC1_PWR_MGT */ #define IEEE80211_NODE_PWR_MGT 0x0010 /* power save mode enabled */ #define IEEE80211_NODE_AREF 0x0020 /* authentication ref held */ -#define IEEE80211_NODE_FF 0x0040 /* Atheros fast-frames enabled*/ -#define IEEE80211_NODE_TURBOP 0x0080 /* Atheros Turbo' enabled */ + u_int16_t ni_ath_defkeyix;/* Atheros def key index */ u_int16_t ni_associd; /* assoc response */ u_int16_t ni_txpower; /* current transmit power */ u_int16_t ni_vlan; /* vlan tag */ ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#53 (text+ko) ==== @@ -1252,7 +1252,7 @@ * Add a WME information element to a frame. */ static u_int8_t * -ieee80211_add_ath(u_int8_t *frm, struct ieee80211_node *ni) +ieee80211_add_ath(u_int8_t *frm, u_int8_t caps, u_int16_t defkeyix) { static const struct ieee80211_ath_ie info = { .ath_id = IEEE80211_ELEMID_VENDOR, @@ -1261,15 +1261,13 @@ .ath_oui_type = ATH_OUI_TYPE, .ath_oui_subtype= ATH_OUI_SUBTYPE, .ath_version = ATH_OUI_VERSION, - .ath_defkeyix = { 0x7f, 0xff, }, }; struct ieee80211_ath_ie *ath = (struct ieee80211_ath_ie *) frm; memcpy(frm, &info, sizeof(info)); - if (ni->ni_flags & IEEE80211_NODE_FF) - ath->ath_capability |= ATHEROS_CAP_FAST_FRAME; - if (ni->ni_flags & IEEE80211_NODE_TURBOP) - ath->ath_capability |= ATHEROS_CAP_TURBO_PRIME; + ath->ath_capability = caps; + ath->ath_defkeyix[0] = (defkeyix & 0xff); + ath->ath_defkeyix[1] = ((defkeyix >> 8) & 0xff); return frm + sizeof(info); } #undef ATH_OUI_BYTES @@ -1476,7 +1474,8 @@ if (ic->ic_flags & IEEE80211_F_WME) frm = ieee80211_add_wme_param(frm, &ic->ic_wme); if (ni->ni_ath_ie != NULL) - frm = ieee80211_add_ath(frm, ni); + frm = ieee80211_add_ath(frm, ni->ni_ath_flags, + ni->ni_ath_defkeyix); m->m_pkthdr.len = m->m_len = frm - mtod(m, u_int8_t *); break; @@ -1567,7 +1566,7 @@ * [tlv] supported rates * [tlv] extended supported rates * [tlv] WME - * [tlv] Atheros capabilities + * [tlv] Atheros capabilities (if negotiated) * [tlv] user-specified ie's */ m = ieee80211_getmgtframe(&frm, @@ -1617,8 +1616,13 @@ frm = ieee80211_add_xrates(frm, &ni->ni_rates); if ((ic->ic_flags & IEEE80211_F_WME) && ni->ni_wme_ie != NULL) frm = ieee80211_add_wme_info(frm, &ic->ic_wme); - if (ni->ni_ath_ie != NULL) - frm = ieee80211_add_ath(frm, ni); + if (IEEE80211_ATH_CAP(ic, ni, IEEE80211_F_ATHEROS)) + frm = ieee80211_add_ath(frm, + IEEE80211_ATH_CAP(ic, ni, IEEE80211_F_ATHEROS), + (ic->ic_flags & IEEE80211_F_WPA) == 0 && + ni->ni_authmode != IEEE80211_AUTH_8021X && + ic->ic_def_txkey != IEEE80211_KEYIX_NONE ? + ic->ic_def_txkey : 0x7fff); if (ic->ic_opt_ie != NULL) { memcpy(frm, ic->ic_opt_ie, ic->ic_opt_ie_len); frm += ic->ic_opt_ie_len; @@ -1638,6 +1642,7 @@ * [tlv] supported rates * [tlv] extended supported rates * [tlv] WME (if enabled and STA enabled) + * [tlv] Atheros capabilities (if enabled and STA enabled) */ m = ieee80211_getmgtframe(&frm, sizeof(u_int16_t) @@ -1646,6 +1651,7 @@ + 2 + IEEE80211_RATE_SIZE + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + sizeof(struct ieee80211_wme_param) + + sizeof(struct ieee80211_ath_ie) ); if (m == NULL) senderr(ENOMEM, is_tx_nobuf); @@ -1675,6 +1681,10 @@ frm = ieee80211_add_xrates(frm, &ni->ni_rates); if ((ic->ic_flags & IEEE80211_F_WME) && ni->ni_wme_ie != NULL) frm = ieee80211_add_wme_param(frm, &ic->ic_wme); + if (IEEE80211_ATH_CAP(ic, ni, IEEE80211_F_ATHEROS)) + frm = ieee80211_add_ath(frm, + IEEE80211_ATH_CAP(ic, ni, IEEE80211_F_ATHEROS), + ni->ni_ath_defkeyix); m->m_pkthdr.len = m->m_len = frm - mtod(m, u_int8_t *); break; ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#34 (text+ko) ==== @@ -842,7 +842,39 @@ } } +/* + * Switch between turbo and non-turbo operating modes. + * Use the specified channel flags to locate the new + * channel, update 802.11 state, and then call back into + * the driver to effect the change. + */ void +ieee80211_dturbo_switch(struct ieee80211com *ic, int newflags) +{ + struct ieee80211_channel *chan; + + chan = ieee80211_find_channel(ic, ic->ic_bsschan->ic_freq, newflags); + if (chan == NULL) { /* XXX should not happen */ + IEEE80211_DPRINTF(ic, IEEE80211_MSG_SUPERG, + "%s: no channel with freq %u flags 0x%x\n", + __func__, ic->ic_bsschan->ic_freq, newflags); + return; + } + + IEEE80211_DPRINTF(ic, IEEE80211_MSG_SUPERG, + "%s: %s -> %s (freq %u flags 0x%x)\n", __func__, + ieee80211_phymode_name[ieee80211_chan2mode(ic->ic_bsschan)], + ieee80211_phymode_name[ieee80211_chan2mode(chan)], + chan->ic_freq, chan->ic_flags); + + ic->ic_bsschan = chan; + ic->ic_prevchan = ic->ic_curchan; + ic->ic_curchan = chan; + ic->ic_set_channel(ic); + /* NB: do not need to reset ERP state 'cuz we're in sta mode */ +} + +void ieee80211_beacon_miss(struct ieee80211com *ic) { @@ -850,8 +882,7 @@ /* XXX check ic_curchan != ic_bsschan? */ return; } - IEEE80211_DPRINTF(ic, - IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, + IEEE80211_DPRINTF(ic, IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "%s\n", "beacon miss"); /* @@ -863,16 +894,14 @@ ic->ic_state != IEEE80211_S_RUN) return; if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) { -#ifdef ATH_SUPERG_DYNTURBO /* * If we receive a beacon miss interrupt when using * dynamic turbo, attempt to switch modes before * reassociating. */ - if (IEEE80211_ATH_CAP(ic, ic->ic_bss, IEEE80211_ATHC_TURBOP)) + if (IEEE80211_ATH_CAP(ic, ic->ic_bss, IEEE80211_NODE_TURBOP)) ieee80211_dturbo_switch(ic, ic->ic_bsschan->ic_flags ^ IEEE80211_CHAN_TURBO); -#endif /* ATH_SUPERG_DYNTURBO */ /* * Try to reassociate before scanning for a new ap. */ ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.h#21 (text+ko) ==== @@ -214,6 +214,7 @@ #define ieee80211_new_state(_ic, _nstate, _arg) \ (((_ic)->ic_newstate)((_ic), (_nstate), (_arg))) +void ieee80211_dturbo_switch(struct ieee80211com *, int newflags); void ieee80211_beacon_miss(struct ieee80211com *); void ieee80211_print_essid(const u_int8_t *, int); void ieee80211_dump_pkt(struct ieee80211com *, ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#33 (text+ko) ==== @@ -248,8 +248,9 @@ /* ic_flags */ /* NB: bits 0x4c available */ -#define IEEE80211_F_FF 0x00000001 /* CONF: ATH FF enabled */ -#define IEEE80211_F_TURBOP 0x00000002 /* CONF: ATH Turbo enabled*/ +#define IEEE80211_F_TURBOP 0x00000001 /* CONF: ATH Turbo enabled*/ +#define IEEE80211_F_COMP 0x00000002 /* CONF: ATH comp enabled */ +#define IEEE80211_F_FF 0x00000004 /* CONF: ATH FF enabled */ /* NB: this is intentionally setup to be IEEE80211_CAPINFO_PRIVACY */ #define IEEE80211_F_PRIVACY 0x00000010 /* CONF: privacy enabled */ #define IEEE80211_F_PUREG 0x00000020 /* CONF: 11g w/o 11b sta's */ @@ -279,6 +280,13 @@ #define IEEE80211_F_NOBRIDGE 0x10000000 /* CONF: dis. internal bridge */ #define IEEE80211_F_WMEUPDATE 0x20000000 /* STATUS: update beacon wme */ +/* Atheros protocol-specific flags */ +#define IEEE80211_F_ATHEROS \ + (IEEE80211_F_FF | IEEE80211_F_COMP | IEEE80211_F_TURBOP) +/* Check if an Atheros capability was negotiated for use */ +#define IEEE80211_ATH_CAP(ic, ni, bit) \ + ((ic)->ic_flags & (ni)->ni_ath_flags & (bit)) + /* ic_flags_ext */ #define IEEE80211_FEXT_WDS 0x00000001 /* CONF: 4 addr allowed */ /* 0x00000006 reserved */ From owner-p4-projects@FreeBSD.ORG Thu Aug 4 16:17:57 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 543B716A421; Thu, 4 Aug 2005 16:17:57 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2ECB716A41F for ; Thu, 4 Aug 2005 16:17:57 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DF61B43D49 for ; Thu, 4 Aug 2005 16:17:56 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74GHudu096230 for ; Thu, 4 Aug 2005 16:17:56 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74GHuTA096227 for perforce@freebsd.org; Thu, 4 Aug 2005 16:17:56 GMT (envelope-from sam@freebsd.org) Date: Thu, 4 Aug 2005 16:17:56 GMT Message-Id: <200508041617.j74GHuTA096227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81453 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 16:17:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=81453 Change 81453 by sam@sam_ebb on 2005/08/04 16:16:55 o enable dynamic turbo use o pass beacon miss to net80211 layer o track ath protocol handling changes Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#98 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#98 (text+ko) ==== @@ -547,10 +547,8 @@ ic->ic_caps |= IEEE80211_C_BURST; if (ath_hal_hasfastframes(ah)) ic->ic_caps |= IEEE80211_C_FF; -#ifdef notyet - if (ath_hal_getwirelessmodes(ah) & (HAL_MODE_108G|HAL_MODE_TURBO)) + if (ath_hal_getwirelessmodes(ah, ath_countrycode) & (HAL_MODE_108G|HAL_MODE_TURBO)) ic->ic_caps |= IEEE80211_C_TURBOP; -#endif /* * Indicate we need the 802.11 header padded to a @@ -815,22 +813,10 @@ ath_bmiss_proc(void *arg, int pending) { struct ath_softc *sc = arg; - struct ieee80211com *ic = &sc->sc_ic; DPRINTF(sc, ATH_DEBUG_ANY, "%s: pending %u\n", __func__, pending); - KASSERT(ic->ic_opmode == IEEE80211_M_STA, - ("unexpect operating mode %u", ic->ic_opmode)); - if (ic->ic_state == IEEE80211_S_RUN) { - /* - * Rather than go directly to scan state, try to - * reassociate first. If that fails then the state - * machine will drop us into scanning after timing - * out waiting for a probe response. - */ - NET_LOCK_GIANT(); - ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1); - NET_UNLOCK_GIANT(); - } + + ieee80211_beacon_miss(&sc->sc_ic); } static u_int @@ -1530,7 +1516,7 @@ } pri = M_WME_GETAC(m); txq = sc->sc_ac2q[pri]; - if (ni->ni_flags & IEEE80211_NODE_FF) { + if (ni->ni_ath_flags & IEEE80211_NODE_FF) { /* * Check queue length; if too deep drop this * frame (tail drop considered good). @@ -3884,7 +3870,7 @@ flags |= HAL_TXDESC_NOACK; /* no ack on broad/multicast */ sc->sc_stats.ast_tx_noack++; } else if (pktlen > ic->ic_rtsthreshold && - (ni->ni_flags & IEEE80211_NODE_FF) == 0) { + (ni->ni_ath_flags & IEEE80211_NODE_FF) == 0) { flags |= HAL_TXDESC_RTSENA; /* RTS based on frame length */ cix = rt->info[rix].controlRate; sc->sc_stats.ast_tx_rts++; From owner-p4-projects@FreeBSD.ORG Thu Aug 4 17:26:22 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B902416A421; Thu, 4 Aug 2005 17:26:21 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 931AC16A41F for ; Thu, 4 Aug 2005 17:26:21 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 652BE43D45 for ; Thu, 4 Aug 2005 17:26:21 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74HQL8e005750 for ; Thu, 4 Aug 2005 17:26:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74HQLrF005747 for perforce@freebsd.org; Thu, 4 Aug 2005 17:26:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 4 Aug 2005 17:26:21 GMT Message-Id: <200508041726.j74HQLrF005747@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81456 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 17:26:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=81456 Change 81456 by rwatson@rwatson_zoo on 2005/08/04 17:25:23 Update IFQ_HANDOFF_ADJ() for if_drv_flags; annotate why this is a bug. Affected files ... .. //depot/projects/netsmp/src/sys/net/if_var.h#9 edit Differences ... ==== //depot/projects/netsmp/src/sys/net/if_var.h#9 (text+ko) ==== @@ -422,6 +422,10 @@ #define IFQ_INC_DROPS(ifq) ((ifq)->ifq_drops++) #define IFQ_SET_MAXLEN(ifq, len) ((ifq)->ifq_maxlen = (len)) +/* + * XXXRW: The IFF_DRV_OACTIVE test should really occur in the device driver, + * not in the handoff logic, as that flag is locked by the device driver. + */ #define IFQ_HANDOFF_ADJ(ifp, m, adj, err) \ do { \ int len; \ @@ -434,7 +438,7 @@ (ifp)->if_obytes += len + (adj); \ if (mflags & M_MCAST) \ (ifp)->if_omcasts++; \ - if (((ifp)->if_flags & IFF_OACTIVE) == 0) \ + if (((ifp)->if_drv_flags & IFF_DRV_OACTIVE) == 0) \ if_start(ifp); \ } \ } while (0) From owner-p4-projects@FreeBSD.ORG Thu Aug 4 22:16:23 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F13816A421; Thu, 4 Aug 2005 22:16:22 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3588516A41F for ; Thu, 4 Aug 2005 22:16:22 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B852743D45 for ; Thu, 4 Aug 2005 22:16:21 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j74MGLUt023745 for ; Thu, 4 Aug 2005 22:16:21 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j74MGHYs023742 for perforce@freebsd.org; Thu, 4 Aug 2005 22:16:17 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 4 Aug 2005 22:16:17 GMT Message-Id: <200508042216.j74MGHYs023742@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Cc: Subject: PERFORCE change 81471 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Aug 2005 22:16:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=81471 Change 81471 by davidxu@davidxu_alona on 2005/08/04 22:15:31 sync Affected files ... .. //depot/projects/davidxu_thread/src/Makefile.inc1#13 integrate .. //depot/projects/davidxu_thread/src/UPDATING#10 integrate .. //depot/projects/davidxu_thread/src/bin/csh/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/bin/csh/config.h#4 integrate .. //depot/projects/davidxu_thread/src/bin/csh/config_p.h#1 branch .. //depot/projects/davidxu_thread/src/bin/ps/ps.1#6 integrate .. //depot/projects/davidxu_thread/src/contrib/bsnmp/NEWS#4 integrate .. //depot/projects/davidxu_thread/src/contrib/bsnmp/VERSION#4 integrate .. //depot/projects/davidxu_thread/src/contrib/bsnmp/gensnmptree/gensnmptree.c#4 integrate .. //depot/projects/davidxu_thread/src/contrib/bsnmp/oid-list#2 integrate .. //depot/projects/davidxu_thread/src/contrib/bsnmp/snmp_ntp/BEGEMOT-NTP-MIB.txt#1 branch .. //depot/projects/davidxu_thread/src/contrib/bsnmp/snmp_ntp/NTP-MIB.txt#1 branch .. //depot/projects/davidxu_thread/src/contrib/bsnmp/snmp_ntp/NTP-PROXY-MIB.txt#1 branch .. //depot/projects/davidxu_thread/src/contrib/bsnmp/snmp_ntp/ntp_tree.def#1 branch .. //depot/projects/davidxu_thread/src/contrib/bsnmp/snmp_ntp/snmp_ntp.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/bsnmp/snmpd/main.c#4 integrate .. //depot/projects/davidxu_thread/src/contrib/cvs/src/login.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/cvs/src/patch.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/cvs/src/rcs.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/BNF#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/BSD/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/BSD/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/BSD/Makefile.ipsend#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/BSD/kupgrade#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/BSD/make-devices#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FWTK/fwtk-2.1-transparency.txt#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FWTK/fwtk_transparent.diff#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FWTK/fwtkp#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FWTK/tproxy.diff#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-2.2/files.diffs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-2.2/files.newconf.diffs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-2.2/kinstall#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-3/INST.FreeBSD-3#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-3/kinstall#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-4.0/INST.FreeBSD-4#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.0#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.2#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-4.0/kinstall#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD-4.0/unkinstall#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD/files.diffs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD/files.newconf.diffs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD/files.oldconf.diffs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD/filez.diffs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/FreeBSD/kinstall#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/HISTORY#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/INST.FreeBSD-2.2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/INSTALL.FreeBSD#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/IPFILTER.LICENCE#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/README#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/STYLE.TXT#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/UPGRADE_NOTICE#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/WhatsNew40.txt#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/bpf-ipf.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/bpf.h#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/bpf_filter.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/bsdinstall#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/common.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/etc/protocols#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/etc/services#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/facpri.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/facpri.h#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/fils.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/inet_addr.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_fil.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_fil_freebsd.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_htable.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_htable.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_irc_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_lfil.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_lookup.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_lookup.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_msnrpc_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_pool.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_pool.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_pptp_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_rpcb_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_scan.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_scan.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_sfil.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_sync.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ip_sync.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipf.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipf.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipfs.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipft_ef.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipft_hx.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipft_pc.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipft_sn.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipft_td.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipft_tx.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/iplang/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/iplang/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/iplang/iplang.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/iplang/iplang_l.l#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/iplang/iplang_y.y#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipmon.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipmon.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipnat.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/Celler/ip_compat.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/ipsd.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/ipsd.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/ipsdr.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/linux.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/sbpf.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/sdlpi.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/slinux.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsd/snit.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/.OLD/ip_compat.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/44arp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/arp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/dlcommon.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/dltest.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/hpux.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/in_var.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ip.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ip_var.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipresend.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipresend.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipsend.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipsend.5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipsend.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipsend.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ipsopt.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/iptest.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/iptest.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/iptests.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/larp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/linux.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/lsock.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/resend.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/sbpf.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/sdlpi.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/sirix.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/slinux.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/snit.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/sock.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/sockraw.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/tcpip.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipsend/ultrix.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipt.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ipt.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/kmem.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/kmem.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/l4check/http.ok#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/l4check/l4check.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/Makefile#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/addicmp.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/addipopt.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/addkeep.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/bcopywrap.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/binprint.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/buildopts.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/checkrev.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/count4bits.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/count6bits.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/debug.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/extras.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/facpri.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/facpri.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/fill6bits.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/flags.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/genmask.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/gethost.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getifname.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getline.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getnattype.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getport.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getportproto.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getproto.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/getsumd.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/hexdump.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/hostmask.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/hostname.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/hostnum.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/icmpcode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/inet_addr.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/initparse.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ionames.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipf_dotuning.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipft_ef.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipft_hx.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipft_pc.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipft_sn.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipft_td.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipft_tx.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ipoptsec.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/kmem.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/kmem.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/kmemcpywrap.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/kvatoname.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/load_hash.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/load_hashnode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/load_pool.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/load_poolnode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/loglevel.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/make_range.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/mutex_emul.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/nametokva.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/nat_setgroupmap.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/natparse.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ntomask.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/optname.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/optprint.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/optprintv6.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/optvalue.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/parse.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/portname.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/portnum.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ports.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/print_toif.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printactivenat.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printaps.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printbuf.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printfr.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printfraginfo.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printhash.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printhashnode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printhostmap.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printhostmask.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printifname.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printip.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printlog.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printmask.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printnat.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printpacket.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printpacket6.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printpool.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printpoolnode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printportcmp.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printsbuf.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printstate.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/printtunable.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ratoi.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/ratoui.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/remove_hash.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/remove_hashnode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/remove_pool.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/remove_poolnode.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/resetlexer.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/rwlock_emul.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/tcp_flags.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/tcpflags.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/tcpoptnames.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/to_interface.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/v6ionames.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/v6optvalue.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/var.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/lib/verbose.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipf.4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipf.5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipf.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipfilter.4#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipfilter.4.mandoc#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipfs.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipfstat.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipftest.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipl.4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipmon.5#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipmon.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipnat.5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipnat.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ippool.5#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ippool.8#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipscan.5#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/ipscan.8#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/man/mkfilters.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/md5.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/md5.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/misc.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/ml_ipl.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mlf_ipl.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mlf_rule.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mlfk_rule.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mlh_rule.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mli_ipl.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mln_ipl.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/mls_ipl.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/natparse.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/net/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/opt.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/opts.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/parse.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/pcap-ipf.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/pcap.h#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/perl/ipf-mrtg.pl#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/perl/ipfmeta.pl#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/perl/logfilter.pl#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/printnat.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/printstate.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/radix.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/radix_ipf.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/relay.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.10#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.11#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.12#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.13#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.3#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.6#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.7#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.9#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/example.sr#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/ip_rules#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/ipmon.conf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/rules/pool.conf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/samples/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/samples/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/samples/ipfilter-pb.gif#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/samples/proxy.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/samples/relay.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/samples/userauth.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/snoop.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/solaris.c#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/.cvsignore#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/bpftest#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/dotest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/dotest6#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/bpf-f1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/bpf1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/f17#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i11#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i12#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i13#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i14#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i15#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i3#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i6#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i7#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/i9#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/in1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/in2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/in5#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/in6#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ip1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/l1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/l1.b#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n10#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n11#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n12#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n7#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n8#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/n9#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni10#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni11#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni12#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni13#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni14#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni15#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni16#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni3#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni6#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni7#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/ni9#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/p1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/p2#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/expected/p3#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/hextest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/f11#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/f12#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/f13#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/f17#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ipv6.1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/l1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n10#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n11#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n12#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n8#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/n9#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni10#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni12#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni13#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni14#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni15#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni16#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni6#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni7#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/ni9#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/p1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/p2#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/input/p3#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/intest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/iptest#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/itest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/logtest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/mhtest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/mtest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/natipftest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/nattest#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/ptest#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/bpf-f1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/bpf1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i11#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i12#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i13#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i14#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i15#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i3#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i6#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/i9#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/in1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/in2#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/in5#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/in6#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ip1#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n10#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n11#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n12#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n7#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n8#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/n9#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni10.nat#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni11.nat#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni12.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni12.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni13.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni13.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni14.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni14.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni15.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni15.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni16.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni16.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni6.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni6.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni7.nat#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni8.nat#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni9.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/ni9.nat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/p1.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/p1.pool#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/p2.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/p3.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/regress/p3.pool#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/test.format#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/test/vfycksum.pl#2 integrate .. //depot/projects/davidxu_thread/src/contrib/ipfilter/todo#2 delete .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/BNF.ipf#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/BNF.ipnat#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/Makefile#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipf.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipf_y.y#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipfcomp.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipfs.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipfstat.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipftest.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipmon.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipmon_y.y#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipnat.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipnat_y.y#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ippool.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ippool_y.y#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipscan_y.y#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipsyncm.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/ipsyncs.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/lex_var.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/lexer.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/ipfilter/tools/lexer.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/pf/authpf/authpf.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/authpf/authpf.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/authpf/pathnames.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/ftp-proxy/ftp-proxy.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/ftp-proxy/ftp-proxy.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/ftp-proxy/getline.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/ftp-proxy/util.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/ftp-proxy/util.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/man/pf.4#3 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/man/pf.conf.5#3 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/man/pf.os.5#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/man/pflog.4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/man/pfsync.4#3 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/parse.y#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pf_print_state.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_altq.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_optimize.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_osfp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_parser.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_parser.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_qstats.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_radix.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pfctl/pfctl_table.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pflogd/pflogd.8#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pflogd/pflogd.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pflogd/pidfile.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pflogd/privsep.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/pf/pflogd/privsep_fdpass.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/Fixes#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/Imakefile#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/Makefile.in#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/Makefile.std#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/Makefile.vms#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/README#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/complete.tcsh#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/config.h.in#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/config/bsd4.4#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/config_f.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/configure#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/configure.in#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.chared.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.decls.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.defns.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.init.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.inputl.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.refresh.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.screen.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.term.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.term.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ed.xmap.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/gethost.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/glob.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/glob.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/host.defs#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/install-sh#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/ma.setp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/nls/C/set11#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/nls/ja/set1#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/nls/ja/set3#1 branch .. //depot/projects/davidxu_thread/src/contrib/tcsh/nls/ja/set4#1 branch .. //depot/projects/davidxu_thread/src/contrib/tcsh/nls/ja/set7#1 branch .. //depot/projects/davidxu_thread/src/contrib/tcsh/patchlevel.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.char.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.decls.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.dir.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.dol.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.err.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.exec.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.exp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.file.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.glob.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.hist.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.init.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.lex.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.misc.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.parse.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.print.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.proc.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.proc.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.sem.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.set.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.time.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/sh.types.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.alloc.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.bind.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.const.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.decls.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.disc.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.func.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.nls.c#1 branch .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.nls.h#1 branch .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.os.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.os.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.printf.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.prompt.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.sched.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.sig.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.sig.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.str.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.vers.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.wait.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tc.who.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tcsh.man2html#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.color.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.comp.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.decls.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.h#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.help.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.init.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.parse.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/tw.spell.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/tcsh/vms.termcap.c#2 integrate .. //depot/projects/davidxu_thread/src/etc/Makefile#6 integrate .. //depot/projects/davidxu_thread/src/etc/pam.d/xdm#2 integrate .. //depot/projects/davidxu_thread/src/etc/rc#2 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/Makefile#6 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/initdiskless#3 delete .. //depot/projects/davidxu_thread/src/etc/rc.d/jail#5 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/named#5 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/preseedrandom#2 delete .. //depot/projects/davidxu_thread/src/etc/rc.d/rcconf.sh#2 integrate .. //depot/projects/davidxu_thread/src/etc/rc.initdiskless#2 integrate .. //depot/projects/davidxu_thread/src/games/caesar/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/games/caesar/caesar.c#2 integrate .. //depot/projects/davidxu_thread/src/games/factor/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/games/fortune/datfiles/startrek#2 integrate .. //depot/projects/davidxu_thread/src/games/pom/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/games/pom/pom.c#2 integrate .. //depot/projects/davidxu_thread/src/gnu/lib/libdialog/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/gnu/lib/libobjc/Makefile#4 integrate .. //depot/projects/davidxu_thread/src/gnu/lib/libstdc++/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/include/Makefile#9 integrate .. //depot/projects/davidxu_thread/src/include/netdb.h#3 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/Makefile#7 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_platform.h#3 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_write_set_format_pax.c#5 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/configure.ac.in#3 integrate .. //depot/projects/davidxu_thread/src/lib/libatm/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/strcpy.S#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/gen/getbootfile.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/gen/getgrouplist.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/gen/_set_tp.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/string/bcmp.S#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/Makefile.inc#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/_amd64_get_fsbase.c#3 delete .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/_amd64_get_gsbase.c#3 delete .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/_amd64_set_fsbase.c#2 delete .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/_amd64_set_gsbase.c#2 delete .. //depot/projects/davidxu_thread/src/lib/libc/net/getaddrinfo.3#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getaddrinfo.c#6 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/gethostbydns.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/gethostbyht.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/gethostbyname.3#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/gethostbynis.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/gethostnamadr.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getipnodebyname.3#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnameinfo.3#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnameinfo.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnetbydns.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnetbyht.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnetbynis.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnetent.3#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getnetnamadr.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getprotoent.3#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getprotoent.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getservent.3#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getservent.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/map_v4v6.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/name6.c#7 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/netdb_private.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/regex/cclass.h#2 delete .. //depot/projects/davidxu_thread/src/lib/libc/stdio/fopen.3#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/sys/accept.2#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/yp/yplib.c#5 integrate .. //depot/projects/davidxu_thread/src/lib/libdevstat/devstat.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libnetgraph/debug.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libnetgraph/msg.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libnetgraph/sock.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libopie/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/lib/libpmc/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/lib/libpmc/libpmc.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libpmc/pmc.3#2 integrate .. //depot/projects/davidxu_thread/src/lib/libpmc/pmc.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/libpthread/arch/i386/i386/pthread_md.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libpthread/arch/i386/include/pthread_md.h#3 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/Makefile#6 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/arch/i386/i386/pthread_md.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/arch/i386/include/pthread_md.h#4 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/support/Makefile.inc#1 branch .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#15 integrate .. //depot/projects/davidxu_thread/src/lib/libugidfw/ugidfw.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libutil/login_cap.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libz/ChangeLog#2 integrate .. //depot/projects/davidxu_thread/src/lib/libz/FAQ#2 integrate .. //depot/projects/davidxu_thread/src/lib/libz/README#2 integrate .. //depot/projects/davidxu_thread/src/lib/libz/gzio.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libz/zconf.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/libz/zlib.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/msun/src/s_ceill.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/msun/src/s_floorl.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/msun/src/s_truncl.c#2 integrate .. //depot/projects/davidxu_thread/src/libexec/rtld-elf/i386/reloc.c#4 integrate .. //depot/projects/davidxu_thread/src/release/Makefile#8 integrate .. //depot/projects/davidxu_thread/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#10 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/hardware/common/artheader.sgml#2 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/hardware/common/dev.sgml#4 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/share/examples/dev-auto-translate.pl#2 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/share/sgml/dev-auto-ru.sgml#3 integrate .. //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#5 integrate .. //depot/projects/davidxu_thread/src/release/scripts/package-split.py#4 integrate .. //depot/projects/davidxu_thread/src/release/scripts/package-trees.sh#2 integrate .. //depot/projects/davidxu_thread/src/rescue/rescue/Makefile#8 integrate .. //depot/projects/davidxu_thread/src/sbin/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/sbin/atm/atm/atm.h#2 integrate .. //depot/projects/davidxu_thread/src/sbin/atm/atmconfig/atmconfig_device.h#2 integrate .. //depot/projects/davidxu_thread/src/sbin/atm/ilmid/ilmid.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/dump/traverse.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/fdisk/fdisk.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/fdisk_pc98/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/sbin/fdisk_pc98/fdisk.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/geom/class/mirror/gmirror.8#7 integrate .. //depot/projects/davidxu_thread/src/sbin/geom/class/stripe/gstripe.8#6 integrate .. //depot/projects/davidxu_thread/src/sbin/geom/core/geom.c#7 integrate .. //depot/projects/davidxu_thread/src/sbin/ggate/shared/ggate.h#2 integrate .. //depot/projects/davidxu_thread/src/sbin/gpt/add.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/gpt/gpt.8#3 integrate .. //depot/projects/davidxu_thread/src/sbin/gpt/gpt.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/gpt/gpt.h#2 integrate .. //depot/projects/davidxu_thread/src/sbin/gpt/remove.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/ifconfig/ifpfsync.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/ipf/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/sbin/ipf/Makefile.inc#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipf/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipfs/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipfstat/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipftest/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipmon/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipnat/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ippool/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipresend/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/ipsend/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/iptest/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/libipf/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipf/rules/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sbin/ipfs/Makefile#3 delete .. //depot/projects/davidxu_thread/src/sbin/ipfstat/Makefile#2 delete .. //depot/projects/davidxu_thread/src/sbin/ipfw/ipfw2.c#6 integrate .. //depot/projects/davidxu_thread/src/sbin/ipmon/Makefile#3 delete .. //depot/projects/davidxu_thread/src/sbin/ipnat/Makefile#2 delete .. //depot/projects/davidxu_thread/src/sbin/natd/natd.c#3 integrate .. //depot/projects/davidxu_thread/src/sbin/pfctl/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/acpi.4#6 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/ataraid.4#2 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/ath.4#5 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/hwpmc.4#2 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/sk.4#2 integrate .. //depot/projects/davidxu_thread/src/share/man/man5/nsswitch.conf.5#3 integrate .. //depot/projects/davidxu_thread/src/share/man/man5/rc.conf.5#8 integrate .. //depot/projects/davidxu_thread/src/share/man/man9/taskqueue.9#4 integrate .. //depot/projects/davidxu_thread/src/share/mk/sys.mk#3 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/vm_machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/mp_machdep.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/trap.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/vm_machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/conf/NOTES#9 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/include/smp.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/fusu.S#4 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/vm_machdep.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/arm/xscale/i80321/iq31244_machdep.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/boot/i386/boot0/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/kern_ndis.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/kern_windrv.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/ntoskrnl_var.h#6 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_hal.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_ndis.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_ntoskrnl.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/conf/NOTES#12 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files#12 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.amd64#11 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.i386#13 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.ia64#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.pc98#8 integrate .. //depot/projects/davidxu_thread/src/sys/conf/kern.post.mk#6 integrate .. //depot/projects/davidxu_thread/src/sys/conf/kmod.mk#9 integrate .. //depot/projects/davidxu_thread/src/sys/conf/options#10 integrate .. //depot/projects/davidxu_thread/src/sys/conf/options.amd64#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/options.i386#6 integrate .. //depot/projects/davidxu_thread/src/sys/conf/options.pc98#4 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/fil.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_auth.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_compat.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_fil.c#4 delete .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_fil.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_frag.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_frag.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_htable.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_htable.h#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_ipsec_pxy.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_irc_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_log.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_lookup.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_lookup.h#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_nat.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_nat.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_netbios_pxy.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_pool.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_pool.h#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_proxy.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_proxy.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_rpcb_pxy.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_rules.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_rules.h#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_scan.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_scan.h#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_state.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_sync.c#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ip_sync.h#1 branch .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/if_pflog.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/if_pflog.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/if_pfsync.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/if_pfsync.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf_if.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf_osfp.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf_table.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/aac/aac_disk.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/asr/asr.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#11 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-card.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-cbus.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-chipset.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-disk.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-dma.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-isa.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-lowlevel.c#12 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-queue.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-raid.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-raid.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata_if.m#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/atapi-cam.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/atapi-cd.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/atapi-fd.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/atapi-tape.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/bge/if_bge.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ciss/ciss.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/esp/ncr53c9x.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/fxp/if_fxp.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/dev/fxp/if_fxpreg.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/fxp/rcvbundl.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/hwpmc/hwpmc_amd.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/hwpmc/hwpmc_intel.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/hwpmc/hwpmc_mod.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/hwpmc/hwpmc_pentium.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/hwpmc/hwpmc_piv.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/hwpmc/hwpmc_ppro.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/if_ndis/if_ndis.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/dev/if_ndis/if_ndis_pccard.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/if_ndis/if_ndis_pci.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/if_ndis/if_ndis_usb.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/if_ndis/if_ndisvar.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ips/ips.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/musycc/musycc.c#4 delete .. //depot/projects/davidxu_thread/src/sys/dev/nve/if_nve.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pci.c#12 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pci_pci.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pcireg.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sound/usb/uaudio.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sound/usb/uaudio.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sound/usb/uaudio_pcm.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/uart/uart_dev_z8530.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/usb/uvisor.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/vge/if_vge.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/fs/devfs/devfs_vfsops.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/fs/devfs/devfs_vnops.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/fs/nullfs/null_vnops.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/fs/pseudofs/pseudofs_vnops.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/fs/unionfs/union_subr.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/fs/unionfs/union_vfsops.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/fs/unionfs/union_vnops.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/geom/geom_pc98_enc.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/geom/mirror/g_mirror_ctl.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/geom/vinum/geom_vinum_init.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/hwpmc/hwpmc_amd.c#3 delete .. //depot/projects/davidxu_thread/src/sys/hwpmc/hwpmc_intel.c#3 delete .. //depot/projects/davidxu_thread/src/sys/hwpmc/hwpmc_mod.c#4 delete .. //depot/projects/davidxu_thread/src/sys/hwpmc/hwpmc_pentium.c#3 delete .. //depot/projects/davidxu_thread/src/sys/hwpmc/hwpmc_piv.c#3 delete .. //depot/projects/davidxu_thread/src/sys/hwpmc/hwpmc_ppro.c#3 delete .. //depot/projects/davidxu_thread/src/sys/i386/acpica/acpi_wakecode.S#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/conf/NOTES#11 integrate .. //depot/projects/davidxu_thread/src/sys/i386/conf/PAE#6 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/mp_machdep.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/support.s#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/trap.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/i386/ibcs2/imgact_coff.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/pmc_mdep.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/smp.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/clock.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/clock_if.m#3 delete .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/eficlock.c#2 delete .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/vm_machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/include/clockvar.h#3 delete .. //depot/projects/davidxu_thread/src/sys/kern/imgact_aout.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/kern/imgact_elf.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/kern/init_sysent.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_exec.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_exit.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_kse.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_mac.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#19 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_thread.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_devstat.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_kdb.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_smp.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_witness.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/syscalls.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/kern/syscalls.master#10 integrate .. //depot/projects/davidxu_thread/src/sys/kern/uipc_sem.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/kern/uipc_usrreq.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_aio.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_bio.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_default.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_mount.c#12 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_subr.c#14 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_vnops.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/libkern/crc32.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/modules/Makefile#14 integrate .. //depot/projects/davidxu_thread/src/sys/modules/acpi/acpi/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/sys/modules/hwpmc/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/sys/modules/if_ndis/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/sys/modules/ipfilter/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/sys/modules/puc/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sys/modules/sem/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/sys/net/bpf.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/ip_fw2.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/ip_icmp.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/HISTORY#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias.h#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_cuseeme.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_db.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_ftp.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_irc.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_local.h#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_nbt.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_old.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_pptp.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_proxy.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_skinny.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_smedia.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/alias_util.c#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/libalias/libalias.3#1 branch .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_sack.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_subr.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_usrreq.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_var.h#9 integrate .. //depot/projects/davidxu_thread/src/sys/nfs4client/nfs4_vnops.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/nfsclient/nfs_diskless.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/conf/NOTES#10 integrate .. //depot/projects/davidxu_thread/src/sys/pci/if_sk.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/posix4/ksem.h#1 branch .. //depot/projects/davidxu_thread/src/sys/powerpc/conf/GENERIC#4 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/powermac/ata_kauai.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/powermac/ata_macio.c#5 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 5 00:28:43 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE47F16A421; Fri, 5 Aug 2005 00:28:42 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BE7B16A41F for ; Fri, 5 Aug 2005 00:28:42 +0000 (GMT) (envelope-from soc-yanjun@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F1BF943D45 for ; Fri, 5 Aug 2005 00:28:41 +0000 (GMT) (envelope-from soc-yanjun@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j750SfpO028206 for ; Fri, 5 Aug 2005 00:28:41 GMT (envelope-from soc-yanjun@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j750ReFA028164 for perforce@freebsd.org; Fri, 5 Aug 2005 00:27:40 GMT (envelope-from soc-yanjun@freebsd.org) Date: Fri, 5 Aug 2005 00:27:40 GMT Message-Id: <200508050027.j750ReFA028164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-yanjun@freebsd.org using -f From: soc-yanjun To: Perforce Change Reviews Cc: Subject: PERFORCE change 81475 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 00:28:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=81475 Change 81475 by soc-yanjun@yanjun on 2005/08/05 00:26:50 Submit after integrate. Affected files ... .. //depot/projects/soc2005/sebsd/src/COPYRIGHT#2 integrate .. //depot/projects/soc2005/sebsd/src/MAINTAINERS#2 integrate .. //depot/projects/soc2005/sebsd/src/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/Makefile.inc1#2 integrate .. //depot/projects/soc2005/sebsd/src/UPDATING#2 integrate .. //depot/projects/soc2005/sebsd/src/UPDATING.64BTT#2 delete .. //depot/projects/soc2005/sebsd/src/bin/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/Makefile.inc#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/cat/cat.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/cat/cat.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chflags/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chflags/chflags.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chflags/chflags.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chio/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chio/chio.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chio/chio.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chio/defs.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chio/pathnames.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chmod/chmod.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/chmod/chmod.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/cp/cp.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/cp/cp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/cp/utils.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/csh.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/csh.2#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/csh.3#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/csh.4#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/csh.a#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/csh.g#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/USD.doc/tabs#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/csh/config.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/date/date.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/date/date.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/dd/dd.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/dd/gen.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/df/df.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/df/df.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/domainname/domainname.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/domainname/domainname.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/echo/echo.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/echo/echo.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ed/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ed/ed.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ed/ed.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ed/main.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/expr/expr.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/expr/expr.y#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/getfacl/getfacl.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/getfacl/getfacl.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/hostname/hostname.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/hostname/hostname.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/kenv/kenv.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/kenv/kenv.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/kill/kill.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/kill/kill.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ln/ln.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ln/ln.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ln/symlink.7#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ls/cmp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ls/ls.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ls/ls.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ls/ls.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ls/print.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ls/util.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/mkdir/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/mkdir/mkdir.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/mkdir/mkdir.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/mv/mv.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/mv/mv.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/ar_io.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/ar_subs.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/cpio.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/extern.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/ftree.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/getoldopt.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/pax.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/tar.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pax/tar.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ps/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ps/keyword.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ps/ps.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/ps/ps.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pwd/pwd.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/pwd/pwd.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rcp/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rcp/rcp.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rcp/rcp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/realpath/realpath.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rm/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rm/rm.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rm/rm.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rmail/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rmdir/rmdir.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/rmdir/rmdir.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/file.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/mask.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/merge.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/remove.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/setfacl.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/setfacl.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/setfacl.h#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/setfacl/util.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/bltin/echo.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/builtins.def#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/cmv#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/dirs#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/kill#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/login#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/newgrp#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/popd#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/pushd#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/funcs/suspend#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/jobs.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/mkbuiltins#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/mktokens#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/nodetypes#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/options.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/parser.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sh/sh.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sleep/sleep.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sleep/sleep.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/stty/key.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/stty/print.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/stty/stty.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/stty/stty.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sync/sync.8#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/sync/sync.c#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/test/TEST.sh#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/test/test.1#2 integrate .. //depot/projects/soc2005/sebsd/src/bin/test/test.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/amd/fixmount/fixmount.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/amd/hlfsd/hlfsd.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/CHANGES#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/COPYRIGHT#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/FAQ#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/FREEBSD-Upgrade#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/FREEBSD-Xlist#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/KNOWN_DEFECTS#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/README#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/acconfig.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/check/check-tool.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/check/named-checkconf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/check/named-checkzone.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/dig/dig.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/dig/dighost.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/dig/host.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/dig/include/dig/dig.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/dig/nslookup.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/client.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/config.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/control.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/include/named/control.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/main.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/named.conf.5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/named.conf.docbook#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/named.conf.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/server.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/unix/include/named/os.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/unix/os.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/named/update.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/nsupdate/nsupdate.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/rndc/rndc-confgen.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/bin/rndc/rndc.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/config.guess#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/config.sub#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/configure.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/arm/Bv9ARM.html#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/misc/migration#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/doc/misc/options#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/aclocal.m4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/api#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/config.h.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/configure#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/configure.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/dst/dst_api.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/include/netdb.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/inet/inet_makeaddr.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/dns_nw.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/gai_strerror.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/gen.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/getnetgrent_r.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/getpwent_r.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/irs/irs_data.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/isc/eventlib.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/isc/eventlib_p.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/isc/memcluster.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/libtool.m4#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/ltmain.sh#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/make/rules.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/nameser/ns_print.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/port_after.h.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind/resolv/res_findzonecut.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind9/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind9/api#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind9/check.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/bind9/getaddresses.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/adb.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/api#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/include/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/include/dns/name.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/include/dns/rbt.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/include/dns/zone.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/include/dst/result.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/journal.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/key.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/openssl_link.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/openssldh_link.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/openssldsa_link.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/opensslrsa_link.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/rbt.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/rdata.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/rdata/in_1/wks_11.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/resolver.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/Makefile.in#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/Makefile.in#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_api.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_internal.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_lib.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_openssl.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_parse.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_parse.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/dst_result.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/gssapi_link.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/gssapictx.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/hmac_link.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/include/Makefile.in#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/include/dst/Makefile.in#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/include/dst/dst.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/include/dst/gssapi.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/include/dst/lib.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/include/dst/result.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/key.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/openssl_link.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/openssldh_link.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/openssldsa_link.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/sec/dst/opensslrsa_link.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/validator.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/xfrin.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/dns/zone.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/api#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/include/isc/mem.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/pthreads/thread.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/string.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/task.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/unix/ifiter_ioctl.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isc/unix/socket.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isccfg/api#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isccfg/include/isccfg/grammar.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/isccfg/namedconf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/lwres/api#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/lwres/context.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/lib/lwres/print.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/libtool.m4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/ltmain.sh#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/make/includes.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bind9/version#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/FREEBSD-Xlist#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/NEWS#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/VERSION#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/gensnmpdef/gensnmpdef.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/gensnmptree/gensnmptree.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/gensnmptree/gensnmptree.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/asn1.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/bsnmpagent.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/bsnmpclient.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/bsnmplib.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/snmpagent.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/snmpclient.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/lib/snmpclient.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/oid-list#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII_ip.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII_route.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII_tcp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/mibII_udp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/snmp_mibII.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_mibII/snmp_mibII.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_ntp/BEGEMOT-NTP-MIB.txt#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_ntp/NTP-MIB.txt#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_ntp/NTP-PROXY-MIB.txt#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_ntp/ntp_tree.def#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmp_ntp/snmp_ntp.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmpd/bsnmpd.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmpd/main.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmpd/snmpd.config#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmpd/snmpmod.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmpd/snmpmod.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bsnmp/snmpd/trans_lsock.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/CHANGES#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/FREEBSD-Xlist#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/FREEBSD-upgrade#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/LICENSE#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/Makefile-libbz2_so#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/README#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/blocksort.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/bzip2.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/bzip2.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/bzip2recover.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/bzlib.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/bzlib.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/bzlib_private.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/compress.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/crctable.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/decompress.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/huffman.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/randtable.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/sample1.bz2.uu#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/sample1.ref.gz.uu#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/sample2.bz2.uu#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/sample2.ref.gz.uu#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/sample3.bz2.uu#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/bzip2/sample3.ref.gz.uu#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/cvs/src/login.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/cvs/src/patch.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/cvs/src/rcs.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/ChangeLog#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/LEGAL.NOTICE#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/animation#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/archive#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/audio#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/console#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/elf#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/esri#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/filesystems#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/linux#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/msdos#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/os9#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/perl#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/plan9#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/sinclair#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/sniffer#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/tex#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/virtutech#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/file/Magdir/xo65#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/file/Makefile.am#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/PORTING#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/file/aclocal.m4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/apprentice.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/ascmagic.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/compress.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/config.h.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/configure#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/configure.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/file.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/file.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/fsmagic.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/funcs.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/install-sh#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/is_tar.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/magic.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/magic.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/magic.mime#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/mkinstalldirs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/names.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/patchlevel.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/print.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/readelf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/readelf.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/softmagic.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/tar.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/file/test.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/gcc/gcc.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/gdtoa/gdtoaimp.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/groff/tmac/doc-common#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/groff/tmac/doc-ditroff#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/groff/tmac/doc-syms#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/groff/tmac/doc.tmac#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/groff/tmac/groff_mdoc.man#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/BNF#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/BSD/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/BSD/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/BSD/Makefile.ipsend#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/BSD/kupgrade#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/BSD/make-devices#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FWTK/fwtk-2.1-transparency.txt#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FWTK/fwtk_transparent.diff#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FWTK/fwtkp#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FWTK/tproxy.diff#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-2.2/files.diffs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-2.2/files.newconf.diffs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-2.2/kinstall#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-3/INST.FreeBSD-3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-3/kinstall#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-4.0/INST.FreeBSD-4#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.0#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-4.0/ipv6-patch-4.2#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-4.0/kinstall#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD-4.0/unkinstall#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD/files.diffs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD/files.newconf.diffs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD/files.oldconf.diffs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD/filez.diffs#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/FreeBSD/kinstall#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/HISTORY#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/INST.FreeBSD-2.2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/INSTALL.FreeBSD#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/IPFILTER.LICENCE#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/README#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/STYLE.TXT#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/UPGRADE_NOTICE#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/WhatsNew40.txt#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/bpf-ipf.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/bpf.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/bpf_filter.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/bsdinstall#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/common.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/etc/protocols#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/etc/services#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/facpri.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/facpri.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/fils.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/inet_addr.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_fil.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_fil_freebsd.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_htable.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_htable.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_irc_pxy.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_lfil.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_lookup.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_lookup.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_msnrpc_pxy.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_pool.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_pool.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_pptp_pxy.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_rpcb_pxy.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_scan.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_scan.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_sfil.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_sync.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ip_sync.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipf.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipf.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipfs.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipft_ef.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipft_hx.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipft_pc.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipft_sn.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipft_td.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipft_tx.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/iplang/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/iplang/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/iplang/iplang.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/iplang/iplang_l.l#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/iplang/iplang_y.y#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipmon.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipmon.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipnat.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/Celler/ip_compat.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/ipsd.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/ipsd.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/ipsdr.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/linux.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/sbpf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/sdlpi.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/slinux.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsd/snit.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/.OLD/ip_compat.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/44arp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/arp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/dlcommon.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/dltest.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/hpux.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/in_var.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ip.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ip_var.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipresend.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipresend.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipsend.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipsend.5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipsend.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipsend.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ipsopt.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/iptest.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/iptest.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/iptests.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/larp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/linux.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/lsock.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/resend.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/sbpf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/sdlpi.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/sirix.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/slinux.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/snit.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/sock.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/sockraw.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/tcpip.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipsend/ultrix.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipt.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ipt.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/kmem.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/kmem.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/l4check/http.ok#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/l4check/l4check.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/Makefile#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/addicmp.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/addipopt.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/addkeep.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/bcopywrap.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/binprint.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/buildopts.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/checkrev.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/count4bits.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/count6bits.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/debug.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/extras.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/facpri.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/facpri.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/fill6bits.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/flags.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/genmask.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/gethost.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getifname.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getline.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getnattype.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getport.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getportproto.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getproto.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/getsumd.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/hexdump.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/hostmask.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/hostname.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/hostnum.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/icmpcode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/inet_addr.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/initparse.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ionames.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipf_dotuning.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipft_ef.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipft_hx.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipft_pc.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipft_sn.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipft_td.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipft_tx.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ipoptsec.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/kmem.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/kmem.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/kmemcpywrap.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/kvatoname.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/load_hash.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/load_hashnode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/load_pool.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/load_poolnode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/loglevel.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/make_range.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/mutex_emul.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/nametokva.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/nat_setgroupmap.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/natparse.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ntomask.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/optname.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/optprint.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/optprintv6.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/optvalue.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/parse.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/portname.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/portnum.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ports.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/print_toif.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printactivenat.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printaps.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printbuf.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printfr.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printfraginfo.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printhash.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printhashnode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printhostmap.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printhostmask.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printifname.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printip.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printlog.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printmask.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printnat.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printpacket.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printpacket6.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printpool.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printpoolnode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printportcmp.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printsbuf.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printstate.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/printtunable.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ratoi.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/ratoui.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/remove_hash.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/remove_hashnode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/remove_pool.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/remove_poolnode.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/resetlexer.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/rwlock_emul.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/tcp_flags.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/tcpflags.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/tcpoptnames.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/to_interface.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/v6ionames.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/v6optvalue.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/var.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/lib/verbose.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipf.4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipf.5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipf.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipfilter.4#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipfilter.4.mandoc#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipfs.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipfstat.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipftest.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipl.4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipmon.5#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipmon.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipnat.5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipnat.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ippool.5#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ippool.8#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipscan.5#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/ipscan.8#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/man/mkfilters.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/md5.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/md5.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/misc.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/ml_ipl.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mlf_ipl.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mlf_rule.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mlfk_rule.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mlh_rule.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mli_ipl.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mln_ipl.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/mls_ipl.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/natparse.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/net/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/opt.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/opts.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/parse.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/pcap-bpf.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/pcap-ipf.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/pcap.h#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/perl/ipf-mrtg.pl#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/perl/ipfmeta.pl#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/perl/logfilter.pl#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/printnat.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/printstate.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/radix.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/radix_ipf.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/relay.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.10#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.11#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.12#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.13#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.6#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.7#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.9#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/example.sr#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/ip_rules#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/ipmon.conf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/rules/pool.conf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/samples/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/samples/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/samples/ipfilter-pb.gif#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/samples/proxy.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/samples/relay.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/samples/userauth.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/snoop.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/solaris.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/.cvsignore#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/bpftest#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/dotest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/dotest6#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/bpf-f1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/bpf1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/f17#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i11#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i12#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i13#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i14#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i15#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i6#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i7#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/i9#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/in1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/in2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/in5#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/in6#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ip1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/l1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/l1.b#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n10#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n11#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n12#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n7#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n8#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/n9#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni10#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni11#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni12#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni13#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni14#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni15#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni16#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni5#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni6#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni7#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni8#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/ni9#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/p1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/p2#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/expected/p3#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/hextest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/f11#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/f12#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/f13#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/f17#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ipv6.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/l1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n10#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n11#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n12#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n8#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/n9#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni10#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni12#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni13#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni14#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni15#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni16#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni6#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni7#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/ni9#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/p1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/p2#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/input/p3#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/intest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/iptest#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/itest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/logtest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/mhtest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/mtest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/natipftest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/nattest#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/ptest#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/bpf-f1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/bpf1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i11#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i12#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i13#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i14#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i15#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i6#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/i9#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/in1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/in2#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/in5#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/in6#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ip1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n10#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n11#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n12#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n7#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n8#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/n9#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni10.nat#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni11.nat#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni12.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni12.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni13.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni13.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni14.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni14.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni15.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni15.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni16.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni16.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni6.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni6.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni7.nat#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni8.nat#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni9.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/ni9.nat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/p1.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/p1.pool#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/p2.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/p3.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/regress/p3.pool#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/test.format#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/test/vfycksum.pl#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/todo#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/BNF.ipf#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/BNF.ipnat#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/Makefile#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipf.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipf_y.y#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipfcomp.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipfs.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipfstat.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipftest.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipmon.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipmon_y.y#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipnat.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipnat_y.y#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ippool.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ippool_y.y#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipscan_y.y#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipsyncm.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/ipsyncs.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/lex_var.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/lexer.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ipfilter/tools/lexer.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/CHANGES#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/CREDITS#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/FILES#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/INSTALL.txt#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/README#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/README.hpux#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/README.macosx#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/VERSION#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/bpf/net/bpf_filter.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/bpf_dump.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/bpf_image.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/config.h.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/configure#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/configure.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/etherent.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/ethertype.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/fad-getad.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/fad-gifc.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/fad-glifc.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/fad-null.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/fad-win32.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/gencode.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/gencode.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/grammar.y#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/inet.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/nametoaddr.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/optimize.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-bpf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-bpf.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-dag.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-dlpi.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-dos.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-dos.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-enet.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-int.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-linux.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-namedb.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-nit.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-null.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-pf.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-snit.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-snoop.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap-win32.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pcap1.h#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/pf.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/ppp.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/savefile.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/scanner.l#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/libpcap/snprintf.c#2 delete .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/Makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/cmds.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/cmdtab.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/extern.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/fetch.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/ftp.1#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/ftp.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/ftp_var.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/main.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/progressbar.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/progressbar.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/util.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/lukemftp/src/version.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/netcat/FREEBSD-Xlist#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/netcat/FREEBSD-upgrade#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/netcat/atomicio.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/netcat/nc.1#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/netcat/netcat.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/netcat/socks.c#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/man/libngatm.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/man/uniaddr.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/man/unifunc.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/man/unimsg.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/man/unisap.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/man/unistruct.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/snmp_atm/atm.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/snmp_atm/snmp_atm.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/snmp_atm/snmp_atm.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/sscop/common.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/sscop/common.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ngatm/sscop/sscop_main.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/ntp/ntpdate/ntpdate.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/FIXES#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/FREEBSD-upgrade#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/README#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/awk.h#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/b.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/lex.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/lib.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/main.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/makefile#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/proctab.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/run.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/one-true-awk/tran.c#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/HISTORY#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/MANIFEST#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/Makefile.am#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/RELNOTES#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/aclocal.m4#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/bin/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/bin/su/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/config.h.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/configure#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/configure.ac#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/openpam/depcomp#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/Makefile.am#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/Makefile.in#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam.man#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_borrow_cred.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_free_data.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_free_envlist.3#1 branch .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_get_option.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_log.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_nullconv.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_readline.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_restore_cred.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_set_option.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/openpam_ttyconv.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam.man#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_acct_mgmt.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_authenticate.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_chauthtok.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_close_session.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_end.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_error.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_get_authtok.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_get_data.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_get_item.3#2 integrate .. //depot/projects/soc2005/sebsd/src/contrib/openpam/doc/man/pam_get_user.3#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 5 13:53:40 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4235916A421; Fri, 5 Aug 2005 13:53:40 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1329716A41F for ; Fri, 5 Aug 2005 13:53:40 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BBF9D43D46 for ; Fri, 5 Aug 2005 13:53:39 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j75Drdbq086513 for ; Fri, 5 Aug 2005 13:53:39 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j75DrdQs086510 for perforce@freebsd.org; Fri, 5 Aug 2005 13:53:39 GMT (envelope-from soc-saturnero@freebsd.org) Date: Fri, 5 Aug 2005 13:53:39 GMT Message-Id: <200508051353.j75DrdQs086510@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81492 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 13:53:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=81492 Change 81492 by soc-saturnero@soc-saturnero_sberta on 2005/08/05 13:53:20 - Remove ${LOGFILE} if it's a temporary file - Use return instead of exit, if exiting cleanly Affected files ... .. //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#3 edit .. //depot/projects/soc2005/freesbie/scripts/buildworld.sh#4 edit .. //depot/projects/soc2005/freesbie/scripts/launch.sh#6 edit Differences ... ==== //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#3 (text+ko) ==== @@ -16,7 +16,7 @@ if [ -n "${NO_BUILDKERNEL:-}" ]; then echo "NO_BUILDKERNEL set, skipping build" | tee -a ${LOGFILE} - exit + return fi # Set MAKE_CONF variable if it's not already set. ==== //depot/projects/soc2005/freesbie/scripts/buildworld.sh#4 (text+ko) ==== @@ -16,7 +16,7 @@ if [ -n "${NO_BUILDWORLD:-}" ]; then echo "NO_BUILDWORLD set, skipping build" | tee -a ${LOGFILE} - exit + return fi # Set MAKE_CONF variable if it's not already set. ==== //depot/projects/soc2005/freesbie/scripts/launch.sh#6 (text+ko) ==== @@ -25,10 +25,14 @@ TARGET=$1; shift; + +# Set LOGFILE. If it's a tmp file, schedule for deletion if [ -n "${1:-}" ]; then LOGFILE=${LOCALDIR}/$1 + REMOVELOG=0 else LOGFILE=$(mktemp -q /tmp/freesbie.XXXXXX) + REMOVELOG=1 fi . ./conf/freesbie.defaults.conf @@ -56,3 +60,7 @@ elif [ -f "${LOCALDIR}/scripts/${TARGET}.sh" ]; then . ${LOCALDIR}/scripts/${TARGET}.sh fi + +if [ ${REMOVELOG} -eq 1 ]; then + rm -f ${LOGFILE} +fi From owner-p4-projects@FreeBSD.ORG Fri Aug 5 13:54:42 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AB9B16A421; Fri, 5 Aug 2005 13:54:42 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D1D6916A41F for ; Fri, 5 Aug 2005 13:54:41 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 950BF43D48 for ; Fri, 5 Aug 2005 13:54:41 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j75Dsfee086597 for ; Fri, 5 Aug 2005 13:54:41 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j75DsfTA086594 for perforce@freebsd.org; Fri, 5 Aug 2005 13:54:41 GMT (envelope-from soc-saturnero@freebsd.org) Date: Fri, 5 Aug 2005 13:54:41 GMT Message-Id: <200508051354.j75DsfTA086594@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 81493 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 13:54:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=81493 Change 81493 by soc-saturnero@soc-saturnero_sberta on 2005/08/05 13:54:25 Adding pkgselect target. This target is independent from others and launch an interactive dialog to choose packages to install Affected files ... .. //depot/projects/soc2005/freesbie/Makefile#8 edit .. //depot/projects/soc2005/freesbie/ToDo#6 edit .. //depot/projects/soc2005/freesbie/conf/freesbie.defaults.conf#8 edit .. //depot/projects/soc2005/freesbie/scripts/pkgselect.sh#1 add Differences ... ==== //depot/projects/soc2005/freesbie/Makefile#8 (text+ko) ==== @@ -4,11 +4,23 @@ # See COPYING for licence terms. # # $FreeBSD$ +# +# FreeSBIE makefile. Main targets are: +# +# iso: build an iso image +# img: build a loopback image +# flash: copy the built system on a device (interactive) +# freesbie: same of `iso' +# +# pkgselect: choose packages to include in the built system (interactive) all: freesbie freesbie: iso +pkgselect: + @sh ./scripts/launch.sh pkgselect + buildworld: .done_buildworld .done_buildworld: @-rm -f .tmp_buildworld ==== //depot/projects/soc2005/freesbie/ToDo#6 (text+ko) ==== @@ -3,10 +3,13 @@ - Add a new target (patch?) for - creating loader.conf - creating rc.conf +(Really needed?) +- Package install target (remember the check $ARCH == `uname -m`) +- Extra stuff + - Add a customroot plugin like the files/custom feature in freesbie1 -- Package management -- Extra stuff + List of files to be created: @@ -16,24 +19,12 @@ #Configuration file used in the build phase conf/ - make.conf - make.conf.minimal - FREESBIE.${ARCH} # Kernel configuration #Build scripts, invoked from Makefile scripts/ - buildworld - installworld - [...] - extra.sh #Runs requested extra scripts. - preparefs - buildiso - buildimage + packages + extra #Runs requested extra scripts. - #Optionally, override scripts depending on the built architecture - ${ARCH}/ #e.g. powerpc - buildiso - #Architecture-dependent list needed? customroot/ etc/ @@ -46,6 +37,8 @@ # need to find a nice solution to make the user select which tools # has to be inserted + # The easiest way is to set a variable in freesbie.conf + extra/ carddetect.sh carddetect/ #Files needed by carddetect.sh script @@ -54,3 +47,4 @@ bsdinstaller.sh bsdinstaller/ # Files needed by bsdinstaller.sh + customroot.sh ==== //depot/projects/soc2005/freesbie/conf/freesbie.defaults.conf#8 (text+ko) ==== @@ -10,6 +10,8 @@ # # Don't modify it, create your own freesbie.conf instead. +# Variables + # Path where files are installed. BASEDIR="/usr/local/freesbie-fs" @@ -46,6 +48,28 @@ # #MAKE_CONF=/etc/make.conf +# You can specify which files to add to your system one by one. Just +# put the list in a text file and set the absolute path in FILE_LIST +# variable +# +#FILE_LIST=/my/own/file_list.txt + +# You can specify which files to remove from your built system. Just +# put the list in a text file and set the absolute path in PRUNE_LIST +# variable. Wildcards are also accepted +# +#PRUNE_LIST=/my/own/prune_em_all.txt + +# Set PKGFILE variable to a text file containing a list of packages to +# install in the built system. This file can be either a pkg_info(1) +# like output either a list of packages without version number. Please +# note that this file will be rewritten if you run `make pkgselect' +# +#PKGFILE=/my/own/pkg_info_output.txt + + +# Knobs + # Define MINIMAL to build a minimal world (i.e.: use # make.conf.minimal, full of NO_* knobs. # @@ -69,5 +93,5 @@ # Define NO_UNIONFS if you want to avoid using unionfs in the built # system # -#NO_UNIONFS=YES +NO_UNIONFS=YES # Unionfs is broken in > 6.0, so disable it by default From owner-p4-projects@FreeBSD.ORG Fri Aug 5 14:12:08 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA6A716A421; Fri, 5 Aug 2005 14:12:07 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B918316A41F for ; Fri, 5 Aug 2005 14:12:07 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B43B43D45 for ; Fri, 5 Aug 2005 14:12:07 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j75EC7c8087768 for ; Fri, 5 Aug 2005 14:12:07 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j75EC3Mr087765 for perforce@freebsd.org; Fri, 5 Aug 2005 14:12:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 5 Aug 2005 14:12:03 GMT Message-Id: <200508051412.j75EC3Mr087765@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81494 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 14:12:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=81494 Change 81494 by rwatson@rwatson_zoo on 2005/08/05 14:11:40 First cut at converting all references to IFF_OACTIVE and IFF_RUNNING to the _DRV_ versions in if_drv_flags. While most cases are almost search and replace, others requires tweaking of the logic due to assumptions that the flags were bits of the same int. As such, this patch requires careful review. This change closes a boatload of minor races between driver use of RUNNING and OACTIVE and various user administrative activities. Affected files ... .. //depot/projects/netsmp/src/sys/compat/linux/linux_ioctl.c#2 edit .. //depot/projects/netsmp/src/sys/compat/svr4/svr4_sockio.c#2 edit .. //depot/projects/netsmp/src/sys/contrib/altq/altq/altq_cbq.c#2 edit .. //depot/projects/netsmp/src/sys/contrib/dev/oltr/if_oltr.c#2 edit .. //depot/projects/netsmp/src/sys/contrib/pf/net/if_pflog.c#2 edit .. //depot/projects/netsmp/src/sys/contrib/pf/net/if_pfsync.c#2 edit .. //depot/projects/netsmp/src/sys/dev/an/if_an.c#3 edit .. //depot/projects/netsmp/src/sys/dev/ar/if_ar.c#2 edit .. //depot/projects/netsmp/src/sys/dev/arl/if_arl.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/amrr/amrr.c#3 edit .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/onoe/onoe.c#3 edit .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#7 edit .. //depot/projects/netsmp/src/sys/dev/awi/awi.c#5 edit .. //depot/projects/netsmp/src/sys/dev/bfe/if_bfe.c#4 edit .. //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#4 edit .. //depot/projects/netsmp/src/sys/dev/cm/if_cm_isa.c#2 edit .. //depot/projects/netsmp/src/sys/dev/cm/smc90cx6.c#2 edit .. //depot/projects/netsmp/src/sys/dev/cnw/if_cnw.c#2 edit .. //depot/projects/netsmp/src/sys/dev/cp/if_cp.c#2 edit .. //depot/projects/netsmp/src/sys/dev/cs/if_cs.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ctau/if_ct.c#2 edit .. //depot/projects/netsmp/src/sys/dev/cx/if_cx.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ed/if_ed.c#4 edit .. //depot/projects/netsmp/src/sys/dev/em/if_em.c#5 edit .. //depot/projects/netsmp/src/sys/dev/en/if_en_pci.c#2 edit .. //depot/projects/netsmp/src/sys/dev/en/midway.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ep/if_ep.c#4 edit .. //depot/projects/netsmp/src/sys/dev/ex/if_ex.c#4 edit .. //depot/projects/netsmp/src/sys/dev/fatm/if_fatm.c#2 edit .. //depot/projects/netsmp/src/sys/dev/fe/if_fe.c#4 edit .. //depot/projects/netsmp/src/sys/dev/firewire/if_fwe.c#2 edit .. //depot/projects/netsmp/src/sys/dev/firewire/if_fwip.c#2 edit .. //depot/projects/netsmp/src/sys/dev/fxp/if_fxp.c#5 edit .. //depot/projects/netsmp/src/sys/dev/gem/if_gem.c#5 edit .. //depot/projects/netsmp/src/sys/dev/hatm/if_hatm.c#2 edit .. //depot/projects/netsmp/src/sys/dev/hatm/if_hatm_intr.c#2 edit .. //depot/projects/netsmp/src/sys/dev/hatm/if_hatm_ioctl.c#2 edit .. //depot/projects/netsmp/src/sys/dev/hatm/if_hatm_rx.c#2 edit .. //depot/projects/netsmp/src/sys/dev/hatm/if_hatm_tx.c#2 edit .. //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#4 edit .. //depot/projects/netsmp/src/sys/dev/ie/if_ie.c#4 edit .. //depot/projects/netsmp/src/sys/dev/if_ndis/if_ndis.c#4 edit .. //depot/projects/netsmp/src/sys/dev/iicbus/if_ic.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ipw/if_ipw.c#3 edit .. //depot/projects/netsmp/src/sys/dev/iwi/if_iwi.c#3 edit .. //depot/projects/netsmp/src/sys/dev/ixgb/if_ixgb.c#5 edit .. //depot/projects/netsmp/src/sys/dev/lge/if_lge.c#4 edit .. //depot/projects/netsmp/src/sys/dev/lnc/if_lnc.c#4 edit .. //depot/projects/netsmp/src/sys/dev/my/if_my.c#4 edit .. //depot/projects/netsmp/src/sys/dev/nge/if_nge.c#4 edit .. //depot/projects/netsmp/src/sys/dev/nve/if_nve.c#5 edit .. //depot/projects/netsmp/src/sys/dev/owi/if_owi.c#5 edit .. //depot/projects/netsmp/src/sys/dev/patm/if_patm.c#2 edit .. //depot/projects/netsmp/src/sys/dev/patm/if_patm_intr.c#2 edit .. //depot/projects/netsmp/src/sys/dev/patm/if_patm_ioctl.c#2 edit .. //depot/projects/netsmp/src/sys/dev/patm/if_patm_tx.c#2 edit .. //depot/projects/netsmp/src/sys/dev/pdq/pdq_ifsubr.c#4 edit .. //depot/projects/netsmp/src/sys/dev/ppbus/if_plip.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ral/if_ral.c#3 edit .. //depot/projects/netsmp/src/sys/dev/ral/if_ral_pci.c#2 edit .. //depot/projects/netsmp/src/sys/dev/ray/if_ray.c#4 edit .. //depot/projects/netsmp/src/sys/dev/ray/if_rayvar.h#2 edit .. //depot/projects/netsmp/src/sys/dev/re/if_re.c#4 edit .. //depot/projects/netsmp/src/sys/dev/sbni/if_sbni.c#2 edit .. //depot/projects/netsmp/src/sys/dev/sbsh/if_sbsh.c#2 edit .. //depot/projects/netsmp/src/sys/dev/sn/if_sn.c#4 edit .. //depot/projects/netsmp/src/sys/dev/snc/dp83932.c#4 edit .. //depot/projects/netsmp/src/sys/dev/snc/if_snc_pccard.c#2 edit .. //depot/projects/netsmp/src/sys/dev/sr/if_sr.c#2 edit .. //depot/projects/netsmp/src/sys/dev/tx/if_tx.c#4 edit .. //depot/projects/netsmp/src/sys/dev/txp/if_txp.c#4 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_aue.c#4 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_axe.c#4 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_cdce.c#2 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_cue.c#4 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_kue.c#4 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#5 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_udav.c#4 edit .. //depot/projects/netsmp/src/sys/dev/usb/if_ural.c#3 edit .. //depot/projects/netsmp/src/sys/dev/vge/if_vge.c#4 edit .. //depot/projects/netsmp/src/sys/dev/vx/if_vx.c#3 edit .. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#5 edit .. //depot/projects/netsmp/src/sys/dev/wi/if_wi_pci.c#2 edit .. //depot/projects/netsmp/src/sys/dev/wl/if_wl.c#4 edit .. //depot/projects/netsmp/src/sys/dev/xe/if_xe.c#4 edit .. //depot/projects/netsmp/src/sys/dev/xe/if_xe_pccard.c#2 edit .. //depot/projects/netsmp/src/sys/i386/isa/if_el.c#2 edit .. //depot/projects/netsmp/src/sys/i4b/driver/i4b_ipr.c#2 edit .. //depot/projects/netsmp/src/sys/i4b/driver/i4b_isppp.c#2 edit .. //depot/projects/netsmp/src/sys/kern/kern_poll.c#2 edit .. //depot/projects/netsmp/src/sys/net/bridge.c#2 edit .. //depot/projects/netsmp/src/sys/net/bridgestp.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_arcsubr.c#4 edit .. //depot/projects/netsmp/src/sys/net/if_atm.h#2 edit .. //depot/projects/netsmp/src/sys/net/if_atmsubr.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_bridge.c#4 edit .. //depot/projects/netsmp/src/sys/net/if_ef.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_ethersubr.c#5 edit .. //depot/projects/netsmp/src/sys/net/if_faith.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_fddisubr.c#4 edit .. //depot/projects/netsmp/src/sys/net/if_fwsubr.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_gif.c#3 edit .. //depot/projects/netsmp/src/sys/net/if_gre.c#3 edit .. //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#4 edit .. //depot/projects/netsmp/src/sys/net/if_loop.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_ppp.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_spppsubr.c#3 edit .. //depot/projects/netsmp/src/sys/net/if_tap.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_tun.c#2 edit .. //depot/projects/netsmp/src/sys/net/if_vlan.c#4 edit .. //depot/projects/netsmp/src/sys/net/ppp_tty.c#2 edit .. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.c#3 edit .. //depot/projects/netsmp/src/sys/netatm/atm_if.c#2 edit .. //depot/projects/netsmp/src/sys/netgraph/ng_eiface.c#2 edit .. //depot/projects/netsmp/src/sys/netgraph/ng_ether.c#2 edit .. //depot/projects/netsmp/src/sys/netgraph/ng_fec.c#2 edit .. //depot/projects/netsmp/src/sys/netgraph/ng_iface.c#2 edit .. //depot/projects/netsmp/src/sys/netgraph/ng_sppp.c#2 edit .. //depot/projects/netsmp/src/sys/netinet/ip_carp.c#3 edit .. //depot/projects/netsmp/src/sys/netinet/ip_fastfwd.c#3 edit .. //depot/projects/netsmp/src/sys/netinet6/in6.c#3 edit .. //depot/projects/netsmp/src/sys/netinet6/nd6_nbr.c#3 edit .. //depot/projects/netsmp/src/sys/netnatm/natm.c#2 edit .. //depot/projects/netsmp/src/sys/pci/if_dc.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_de.c#6 edit .. //depot/projects/netsmp/src/sys/pci/if_pcn.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_rl.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_sf.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_sis.c#5 edit .. //depot/projects/netsmp/src/sys/pci/if_sk.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_ste.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_ti.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_tl.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_vr.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_wb.c#4 edit .. //depot/projects/netsmp/src/sys/pci/if_xl.c#5 edit Differences ... ==== //depot/projects/netsmp/src/sys/compat/linux/linux_ioctl.c#2 (text+ko) ==== @@ -2212,9 +2212,9 @@ { l_short flags; - flags = ifp->if_flags & 0xffff; + flags = (ifp->if_flags | ifp->if_drv_flags) & 0xffff; /* these flags have no Linux equivalent */ - flags &= ~(IFF_SMART|IFF_OACTIVE|IFF_SIMPLEX| + flags &= ~(IFF_SMART|IFF_DRV_OACTIVE|IFF_SIMPLEX| IFF_LINK0|IFF_LINK1|IFF_LINK2); /* Linux' multicast flag is in a different bit */ if (flags & IFF_MULTICAST) { ==== //depot/projects/netsmp/src/sys/compat/svr4/svr4_sockio.c#2 (text+ko) ==== @@ -62,7 +62,8 @@ #if defined(IFF_NOTRAILERS) bsd_to_svr4_flag(FF_NOTRAILERS); #endif - bsd_to_svr4_flag(FF_RUNNING); + if (bf & IFF_DRV_RUNNING) + sf |= SVR4_IFF_RUNNING; bsd_to_svr4_flag(FF_NOARP); bsd_to_svr4_flag(FF_PROMISC); bsd_to_svr4_flag(FF_ALLMULTI); ==== //depot/projects/netsmp/src/sys/contrib/altq/altq/altq_cbq.c#2 (text+ko) ==== @@ -598,7 +598,7 @@ ifp = ifq->altq_ifp; if (ifp->if_start && - cbqp->cbq_qlen > 0 && (ifp->if_flags & IFF_OACTIVE) == 0) { + cbqp->cbq_qlen > 0 && (ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) { IFQ_UNLOCK(ifq); (*ifp->if_start)(ifp); IFQ_LOCK(ifq); ==== //depot/projects/netsmp/src/sys/contrib/dev/oltr/if_oltr.c#2 (text+ko) ==== @@ -230,7 +230,7 @@ /* * Check to see if output is already active */ - if (ifp->if_flags & IFF_OACTIVE) + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) return; outloop: @@ -240,7 +240,7 @@ */ if (sc->tx_avail <= 0) { printf("oltr%d: tx queue full\n", sc->unit); - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; return; } @@ -298,7 +298,7 @@ nobuffers: printf("oltr%d: queue full\n", sc->unit); - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; ifp->if_oerrors++; /*m_freem(m0);*/ sc->restart = m0; @@ -323,7 +323,8 @@ /*printf("oltr%d: oltr_stop\n", sc->unit);*/ - ifp->if_flags &= ~(IFF_UP | IFF_RUNNING | IFF_OACTIVE); + ifp->if_flags &= ~IFF_UP; + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); TRlldClose(sc->TRlldAdapter, 0); sc->state = OL_CLOSING; } @@ -539,8 +540,8 @@ sc->restart = NULL; - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; /* * Set up adapter statistics poll @@ -577,7 +578,7 @@ if (ifp->if_flags & IFF_UP) { oltr_init(sc); } else { - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { oltr_close(sc); } } @@ -902,9 +903,9 @@ sc->tx_avail += frame->FragmentCount; - if (ifp->if_flags & IFF_OACTIVE) { + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) { printf("oltr%d: queue restart\n", sc->unit); - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; oltr_start(ifp); } ==== //depot/projects/netsmp/src/sys/contrib/pf/net/if_pflog.c#2 (text+ko) ==== @@ -272,9 +272,9 @@ case SIOCSIFDSTADDR: case SIOCSIFFLAGS: if (ifp->if_flags & IFF_UP) - ifp->if_flags |= IFF_RUNNING; + ifp->if_drv_flags |= IFF_DRV_RUNNING; else - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; break; default: return (EINVAL); ==== //depot/projects/netsmp/src/sys/contrib/pf/net/if_pfsync.c#2 (text+ko) ==== @@ -990,9 +990,9 @@ case SIOCSIFDSTADDR: case SIOCSIFFLAGS: if (ifp->if_flags & IFF_UP) - ifp->if_flags |= IFF_RUNNING; + ifp->if_drv_flags |= IFF_DRV_RUNNING; else - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; break; case SIOCSIFMTU: if (ifr->ifr_mtu < PFSYNC_MINMTU) ==== //depot/projects/netsmp/src/sys/dev/an/if_an.c#3 (text+ko) ==== @@ -834,7 +834,7 @@ an_stop(sc); sc->an_gone = 1; ifmedia_removeall(&sc->an_ifmedia); - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; AN_UNLOCK(sc); ether_ifdetach(ifp); if_free(ifp); @@ -1118,7 +1118,7 @@ ifp = sc->an_ifp; ifp->if_timer = 0; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; if (!sc->mpi350) { id = CSR_READ_2(sc, AN_TX_CMP_FID(sc->mpi350)); @@ -1180,7 +1180,7 @@ sc->an_associated = 0; /* Don't do this while we're transmitting */ - if (ifp->if_flags & IFF_OACTIVE) { + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) { sc->an_stat_ch = timeout(an_stats_update, sc, hz); AN_UNLOCK(sc); return; @@ -1951,18 +1951,18 @@ switch (command) { case SIOCSIFFLAGS: if (ifp->if_flags & IFF_UP) { - if (ifp->if_flags & IFF_RUNNING && + if (ifp->if_drv_flags & IFF_DRV_RUNNING && ifp->if_flags & IFF_PROMISC && !(sc->an_if_flags & IFF_PROMISC)) { an_promisc(sc, 1); - } else if (ifp->if_flags & IFF_RUNNING && + } else if (ifp->if_drv_flags & IFF_DRV_RUNNING && !(ifp->if_flags & IFF_PROMISC) && sc->an_if_flags & IFF_PROMISC) { an_promisc(sc, 0); } else an_init(sc); } else { - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) an_stop(sc); } sc->an_if_flags = ifp->if_flags; @@ -2544,7 +2544,7 @@ return; } - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) an_stop(sc); sc->an_associated = 0; @@ -2631,8 +2631,8 @@ /* enable interrupts */ CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), AN_INTRS(sc->mpi350)); - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->an_stat_ch = timeout(an_stats_update, sc, hz); AN_UNLOCK(sc); @@ -2658,7 +2658,7 @@ if (sc->an_gone) return; - if (ifp->if_flags & IFF_OACTIVE) + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) return; if (!sc->an_associated) @@ -2819,7 +2819,7 @@ } if (m0 != NULL) - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; sc->an_rdata.an_tx_prod = idx; @@ -2851,7 +2851,7 @@ untimeout(an_stats_update, sc, sc->an_stat_ch); - ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); if (sc->an_flash_buffer) { free(sc->an_flash_buffer, M_DEVBUF); ==== //depot/projects/netsmp/src/sys/dev/ar/if_ar.c#2 (text+ko) ==== @@ -607,9 +607,9 @@ * This function only place the data in the oncard buffers. It does not * start the transmition. ar_xmit() does that. * - * Transmitter idle state is indicated by the IFF_OACTIVE flag. The function - * that clears that should ensure that the transmitter and its DMA is - * in a "good" idle state. + * Transmitter idle state is indicated by the IFF_DRV_OACTIVE flag. The + * function that clears that should ensure that the transmitter and its + * DMA is in a "good" idle state. */ #ifndef NETGRAPH static void @@ -628,7 +628,7 @@ struct buf_block *blkp; #ifndef NETGRAPH - if(!(ifp->if_flags & IFF_RUNNING)) + if(!(ifp->if_drv_flags & IFF_DRV_RUNNING)) return; #else /* NETGRAPH */ /* XXX */ @@ -641,9 +641,9 @@ */ if(sc->txb_inuse == AR_TX_BLOCKS) { #ifndef NETGRAPH - ifp->if_flags |= IFF_OACTIVE; /* yes, mark active */ + ifp->if_drv_flags |= IFF_DRV_OACTIVE; /* yes, mark active */ #else /* NETGRAPH */ -/*XXX*/ /*ifp->if_flags |= IFF_OACTIVE;*/ /* yes, mark active */ +/*XXX*/ /*ifp->if_drv_flags |= IFF_DRV_OACTIVE;*/ /* yes, mark active */ #endif /* NETGRAPH */ return; } @@ -775,7 +775,7 @@ TRC(if_printf(ifp, "arioctl.\n");) - was_up = ifp->if_flags & IFF_RUNNING; + was_up = ifp->if_drv_flags & IFF_DRV_RUNNING; error = sppp_ioctl(ifp, cmd, data); TRC(if_printf(ifp, "ioctl: ifsppp.pp_flags = %x, if_flags %x.\n", @@ -790,7 +790,7 @@ (cmd == SIOCSIFFLAGS) ? "SIOCSIFFLAGS" : "SIOCSIFADDR");) s = splimp(); - should_be_up = ifp->if_flags & IFF_RUNNING; + should_be_up = ifp->if_drv_flags & IFF_DRV_RUNNING; if(!was_up && should_be_up) { /* Interface should be up -- start it. */ @@ -824,7 +824,7 @@ msci_channel *msci = &sc->sca->msci[sc->scachan]; #ifndef NETGRAPH - if(!(ifp->if_flags & IFF_RUNNING)) + if(!(ifp->if_drv_flags & IFF_DRV_RUNNING)) return; #endif /* NETGRAPH */ @@ -848,9 +848,9 @@ sc->xmit_busy = 0; #ifndef NETGRAPH - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; #else /* NETGRAPH */ - /* XXX ifp->if_flags &= ~IFF_OACTIVE; */ + /* XXX ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; */ #endif /* NETGRAPH */ if(sc->txb_inuse && --sc->txb_inuse) @@ -1853,17 +1853,17 @@ /* * This should be the most common case. * - * Clear the IFF_OACTIVE flag. + * Clear the IFF_DRV_OACTIVE flag. * * Call arstart to start a new transmit if * there is data to transmit. */ sc->xmit_busy = 0; #ifndef NETGRAPH - SC2IFP(sc)->if_flags &= ~IFF_OACTIVE; + SC2IFP(sc)->if_drv_flags &= ~IFF_DRV_OACTIVE; SC2IFP(sc)->if_timer = 0; #else /* NETGRAPH */ - /* XXX SC2IFP(sc)->if_flags &= ~IFF_OACTIVE; */ + /* XXX SC2IFP(sc)->if_drv_flags &= ~IFF_DRV_OACTIVE; */ sc->out_dog = 0; /* XXX */ #endif /* NETGRAPH */ ==== //depot/projects/netsmp/src/sys/dev/arl/if_arl.c#2 (text+ko) ==== @@ -456,10 +456,10 @@ case SIOCSIFFLAGS: if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_flags & IFF_RUNNING)) + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) arl_init(sc); } else { - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) arl_stop(sc); } break; @@ -694,7 +694,7 @@ D(("wait reg\n")); - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { if (ARL_CHECKREG(sc)) { /* wait registration */ D(("wait registration\n")); @@ -718,7 +718,7 @@ { struct arl_softc *sc = ifp->if_softc; - if (!(ifp->if_flags & IFF_RUNNING)) + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) return; D(("device timeout\n")); @@ -753,8 +753,8 @@ /* set flags */ - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; arl_start(ifp); @@ -826,7 +826,7 @@ D(("start\n")); /* Don't do anything if output is active */ - if (ifp->if_flags & IFF_OACTIVE) + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) return; /* Dequeue the next datagram */ @@ -834,7 +834,7 @@ /* If there's nothing to send, return. */ if (m0 != NULL) { - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; /* Copy the datagram to the buffer. */ sc->tx_len = 0; @@ -881,7 +881,7 @@ ifp = sc->arl_ifp; ifp->if_timer = 0; /* disable timer */ - ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); /* arl_hwreset(unit); */ sc->rx_len = 0; sc->tx_len = 0; @@ -1064,7 +1064,7 @@ if (ar->txStatusVector != 1) sc->arl_ifp->if_collisions++; ifp->if_timer = 0; /* disable timer */ - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; arl_start(ifp); ar->txStatusVector = 0; #ifdef ARLCACHE ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/amrr/amrr.c#3 (text+ko) ==== @@ -464,7 +464,7 @@ struct ieee80211com *ic = &sc->sc_ic; int interval; - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { sc->sc_stats.ast_rate_calls++; if (ic->ic_opmode == IEEE80211_M_STA) ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/onoe/onoe.c#3 (text+ko) ==== @@ -445,7 +445,7 @@ struct ieee80211com *ic = &sc->sc_ic; int interval; - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { sc->sc_stats.ast_rate_calls++; if (ic->ic_opmode == IEEE80211_M_STA) ==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#7 (text+ko) ==== @@ -651,7 +651,7 @@ if (ifp->if_flags & IFF_UP) { ath_init(sc); - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) ath_start(ifp); } if (sc->sc_softled) { @@ -692,7 +692,8 @@ } if (!ath_hal_intrpend(ah)) /* shared irq, not for us */ return; - if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) { + if (!((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & + IFF_DRV_RUNNING))) { DPRINTF(sc, ATH_DEBUG_ANY, "%s: if_flags 0x%x\n", __func__, ifp->if_flags); ath_hal_getisr(ah, &status); /* clear ISR */ @@ -907,7 +908,7 @@ sc->sc_imask |= HAL_INT_MIB; ath_hal_intrset(ah, sc->sc_imask); - ifp->if_flags |= IFF_RUNNING; + ifp->if_drv_flags |= IFF_DRV_RUNNING; ic->ic_state = IEEE80211_S_INIT; /* @@ -938,7 +939,7 @@ __func__, sc->sc_invalid, ifp->if_flags); ATH_LOCK_ASSERT(sc); - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { /* * Shutdown the hardware and driver: * reset 802.11 state machine @@ -955,7 +956,7 @@ * hardware is gone (invalid). */ ieee80211_new_state(ic, IEEE80211_S_INIT, -1); - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; ifp->if_timer = 0; if (!sc->sc_invalid) { if (sc->sc_softled) { @@ -1060,7 +1061,7 @@ struct ieee80211_frame *wh; struct ether_header *eh; - if ((ifp->if_flags & IFF_RUNNING) == 0 || sc->sc_invalid) + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || sc->sc_invalid) return; for (;;) { /* @@ -1075,7 +1076,7 @@ DPRINTF(sc, ATH_DEBUG_ANY, "%s: out of xmit buffers\n", __func__); sc->sc_stats.ast_tx_qstop++; - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } /* @@ -1203,7 +1204,7 @@ ath_media_change(struct ifnet *ifp) { #define IS_UP(ifp) \ - ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP)) + ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) int error; error = ieee80211_media_change(ifp); @@ -3749,7 +3750,7 @@ ath_tx_processq(sc, &sc->sc_txq[0]); ath_tx_processq(sc, sc->sc_cabq); - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_tx_timer = 0; if (sc->sc_softled) @@ -3777,7 +3778,7 @@ ath_tx_processq(sc, &sc->sc_txq[3]); ath_tx_processq(sc, sc->sc_cabq); - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_tx_timer = 0; if (sc->sc_softled) @@ -3804,7 +3805,7 @@ if (ATH_TXQ_SETUP(sc, i)) ath_tx_processq(sc, &sc->sc_txq[i]); - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_tx_timer = 0; if (sc->sc_softled) @@ -3892,7 +3893,7 @@ for (i = 0; i < HAL_NUM_TX_QUEUES; i++) if (ATH_TXQ_SETUP(sc, i)) ath_tx_draintxq(sc, &sc->sc_txq[i]); - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_tx_timer = 0; } @@ -4591,7 +4592,7 @@ struct ieee80211com *ic = &sc->sc_ic; ifp->if_timer = 0; - if ((ifp->if_flags & IFF_RUNNING) == 0 || sc->sc_invalid) + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || sc->sc_invalid) return; if (sc->sc_tx_timer) { if (--sc->sc_tx_timer == 0) { @@ -4670,7 +4671,7 @@ ath_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { #define IS_RUNNING(ifp) \ - ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP)) + ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) struct ath_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; struct ifreq *ifr = (struct ifreq *)data; @@ -4708,7 +4709,7 @@ * the multicast address(es), just recalculate the * multicast filter for the card. */ - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) ath_mode_init(sc); break; case SIOCGATHSTATS: ==== //depot/projects/netsmp/src/sys/dev/awi/awi.c#5 (text+ko) ==== @@ -653,8 +653,8 @@ sc->sc_rxdoff = awi_read_4(sc, AWI_CA_IRX_DATA_DESC); sc->sc_rxmoff = awi_read_4(sc, AWI_CA_IRX_PS_DESC); - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; ic->ic_state = IEEE80211_S_INIT; if (ic->ic_opmode == IEEE80211_M_AHDEMO || @@ -720,7 +720,7 @@ awi_write_1(sc, AWI_CA_FTX_CF, 0); (void)awi_cmd(sc, AWI_CMD_FLUSH_TX, AWI_WAIT); } - ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE); + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); ifp->if_timer = 0; sc->sc_tx_timer = sc->sc_rx_timer = 0; if (sc->sc_rxpend != NULL) { @@ -763,7 +763,7 @@ if (m0 != NULL) { len = m0->m_pkthdr.len; if (awi_next_txd(sc, len, &frame, &ntxd)) { - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } IF_DEQUEUE(&ic->ic_mgtq, m0); @@ -790,7 +790,7 @@ IEEE80211_WEP_KIDLEN + IEEE80211_WEP_CRCLEN; } if (awi_next_txd(sc, len, &frame, &ntxd)) { - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } IFQ_DEQUEUE(&ifp->if_snd, m0); @@ -1293,7 +1293,7 @@ DPRINTF2(("awi_txint: txdone %d txnext %d txbase %d txend %d\n", sc->sc_txdone, sc->sc_txnext, sc->sc_txbase, sc->sc_txend)); sc->sc_tx_timer = 0; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; awi_start(ifp); } ==== //depot/projects/netsmp/src/sys/dev/bfe/if_bfe.c#4 (text+ko) ==== @@ -1110,7 +1110,7 @@ if(i != sc->bfe_tx_cons) { /* we freed up some mbufs */ sc->bfe_tx_cons = i; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } if(sc->bfe_tx_cnt == 0) ifp->if_timer = 0; @@ -1219,7 +1219,7 @@ if(flag & BFE_RX_FLAG_ERRORS) ifp->if_ierrors++; - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; bfe_init_locked(sc); } @@ -1232,7 +1232,8 @@ bfe_txeof(sc); /* We have packets pending, fire them out */ - if (ifp->if_flags & IFF_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (ifp->if_drv_flags & IFF_DRV_RUNNING && + !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) bfe_start_locked(ifp); BFE_UNLOCK(sc); @@ -1354,7 +1355,7 @@ if (!sc->bfe_link && ifp->if_snd.ifq_len < 10) return; - if (ifp->if_flags & IFF_OACTIVE) + if (ifp->if_drv_flags & IFF_DRV_OACTIVE) return; while(sc->bfe_tx_ring[idx].bfe_mbuf == NULL) { @@ -1368,7 +1369,7 @@ */ if(bfe_encap(sc, m_head, &idx)) { IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } @@ -1410,7 +1411,7 @@ BFE_LOCK_ASSERT(sc); - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) return; bfe_stop(sc); @@ -1431,8 +1432,8 @@ CSR_WRITE_4(sc, BFE_IMASK, BFE_IMASK_DEF); bfe_ifmedia_upd(ifp); - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->bfe_stat_ch = timeout(bfe_tick, sc, hz); } @@ -1488,18 +1489,18 @@ case SIOCSIFFLAGS: BFE_LOCK(sc); if(ifp->if_flags & IFF_UP) - if(ifp->if_flags & IFF_RUNNING) + if(ifp->if_drv_flags & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); else bfe_init_locked(sc); - else if(ifp->if_flags & IFF_RUNNING) + else if(ifp->if_drv_flags & IFF_DRV_RUNNING) bfe_stop(sc); BFE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: BFE_LOCK(sc); - if(ifp->if_flags & IFF_RUNNING) + if(ifp->if_drv_flags & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); BFE_UNLOCK(sc); break; @@ -1528,7 +1529,7 @@ printf("bfe%d: watchdog timeout -- resetting\n", sc->bfe_unit); - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; bfe_init_locked(sc); ifp->if_oerrors++; @@ -1584,5 +1585,5 @@ bfe_tx_ring_free(sc); bfe_rx_ring_free(sc); - ifp->if_flags &= ~(IFF_RUNNING | IFF_OACTIVE); + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); } ==== //depot/projects/netsmp/src/sys/dev/bge/if_bge.c#4 (text+ko) ==== @@ -2895,7 +2895,7 @@ } if (cur_tx != NULL) - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; } @@ -2995,7 +2995,7 @@ } } - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { /* Check RX return ring producer/consumer */ bge_rxeof(sc); @@ -3011,7 +3011,8 @@ /* Re-enable interrupts. */ CSR_WRITE_4(sc, BGE_MBX_IRQ0_LO, 0); - if (ifp->if_flags & IFF_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (ifp->if_drv_flags & IFF_DRV_RUNNING && + !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) bge_start_locked(ifp); BGE_UNLOCK(sc); @@ -3262,7 +3263,7 @@ if ((BGE_TX_RING_CNT - sc->bge_txcnt) < m_head->m_pkthdr.csum_data + 16) { IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } } @@ -3274,7 +3275,7 @@ */ if (bge_encap(sc, m_head, &prodidx)) { IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } ++count; @@ -3332,7 +3333,7 @@ ifp = sc->bge_ifp; - if (ifp->if_flags & IFF_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) return; /* Cancel pending I/O and flush buffers. */ @@ -3417,8 +3418,8 @@ bge_ifmedia_upd(ifp); - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; callout_reset(&sc->bge_stat_ch, hz, bge_tick, sc); @@ -3561,7 +3562,7 @@ error = EINVAL; else { ifp->if_mtu = ifr->ifr_mtu; - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; bge_init(sc); } break; @@ -3576,12 +3577,12 @@ * waiting for it to start up, which may take a * second or two. */ - if (ifp->if_flags & IFF_RUNNING && + if (ifp->if_drv_flags & IFF_DRV_RUNNING && ifp->if_flags & IFF_PROMISC && !(sc->bge_if_flags & IFF_PROMISC)) { BGE_SETBIT(sc, BGE_RX_MODE, BGE_RXMODE_RX_PROMISC); - } else if (ifp->if_flags & IFF_RUNNING && + } else if (ifp->if_drv_flags & IFF_DRV_RUNNING && !(ifp->if_flags & IFF_PROMISC) && sc->bge_if_flags & IFF_PROMISC) { BGE_CLRBIT(sc, BGE_RX_MODE, @@ -3589,17 +3590,17 @@ } else bge_init_locked(sc); } else { - if (ifp->if_flags & IFF_RUNNING) { + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { bge_stop(sc); } } - sc->bge_if_flags = ifp->if_flags; + sc->bge_if_flags = ifp->if_flags | ifp->if_drv_flags; BGE_UNLOCK(sc); error = 0; break; case SIOCADDMULTI: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 5 14:22:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5511216A421; Fri, 5 Aug 2005 14:22:21 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 151CA16A41F for ; Fri, 5 Aug 2005 14:22:21 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B44D543D46 for ; Fri, 5 Aug 2005 14:22:20 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j75EMKLS088201 for ; Fri, 5 Aug 2005 14:22:20 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j75EMKGb088198 for perforce@freebsd.org; Fri, 5 Aug 2005 14:22:20 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 5 Aug 2005 14:22:20 GMT Message-Id: <200508051422.j75EMKGb088198@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 81496 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 14:22:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=81496 Change 81496 by rwatson@rwatson_zoo on 2005/08/05 14:21:31 Integrate netsmp. Affected files ... .. //depot/projects/netsmp/src/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/re/if_re.c#5 integrate .. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/netsmp/src/sys/i386/i386/ptrace_machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/net/if.c#9 integrate .. //depot/projects/netsmp/src/sys/pci/if_rlreg.h#2 integrate .. //depot/projects/netsmp/src/sys/sys/ata.h#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/dev/acpi_support/acpi_ibm.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_ibm.c,v 1.7 2005/06/17 17:10:16 cracauer Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_ibm.c,v 1.8 2005/08/04 22:48:36 markus Exp $"); /* * Driver for extra ACPI-controlled gadgets found on IBM ThinkPad laptops. @@ -144,7 +144,11 @@ int light_val; int light_get_supported; int light_set_supported; + + /* led(4) interface */ struct cdev *led_dev; + int led_busy; + int led_state; int wlan_bt_flags; int thermal_updt_supported; @@ -240,6 +244,9 @@ static int acpi_ibm_attach(device_t dev); static int acpi_ibm_detach(device_t dev); +static void ibm_led(void *softc, int onoff); +static void ibm_led_task(struct acpi_ibm_softc *sc, int pending __unused); + static int acpi_ibm_sysctl(SYSCTL_HANDLER_ARGS); static int acpi_ibm_sysctl_init(struct acpi_ibm_softc *sc, int method); static int acpi_ibm_sysctl_get(struct acpi_ibm_softc *sc, int method); @@ -274,10 +281,30 @@ static void ibm_led(void *softc, int onoff) { + struct acpi_ibm_softc* sc = (struct acpi_ibm_softc*) softc; + + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + + if (sc->led_busy) + return; + + sc->led_busy = 1; + sc->led_state = onoff; + + AcpiOsQueueForExecution(OSD_PRIORITY_LO, + (void *)ibm_led_task, sc); +} + +static void +ibm_led_task(struct acpi_ibm_softc *sc, int pending __unused) +{ + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + ACPI_SERIAL_BEGIN(ibm); - acpi_ibm_sysctl_set((struct acpi_ibm_softc*)softc, - ACPI_IBM_METHOD_THINKLIGHT, onoff); + acpi_ibm_sysctl_set(sc, ACPI_IBM_METHOD_THINKLIGHT, sc->led_state); ACPI_SERIAL_END(ibm); + + sc->led_busy = 0; } static int ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_thermal.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.54 2005/07/18 20:12:23 ume Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.55 2005/08/04 18:34:26 ume Exp $"); #include "opt_acpi.h" #include @@ -112,6 +112,7 @@ /* passive cooling */ struct proc *tz_cooling_proc; + int tz_cooling_proc_running; int tz_cooling_enabled; int tz_cooling_active; int tz_cooling_updated; @@ -198,6 +199,7 @@ sc->tz_active = TZ_ACTIVE_NONE; sc->tz_thflags = TZ_THFLAG_NONE; sc->tz_cooling_proc = NULL; + sc->tz_cooling_proc_running = FALSE; sc->tz_cooling_active = FALSE; sc->tz_cooling_updated = FALSE; @@ -994,8 +996,9 @@ acpi_tz_cpufreq_restore(sc); sc->tz_cooling_active = FALSE; } + sc->tz_cooling_proc = NULL; ACPI_LOCK(thermal); - sc->tz_cooling_proc = NULL; + sc->tz_cooling_proc_running = FALSE; ACPI_UNLOCK(thermal); kthread_exit(0); } @@ -1019,16 +1022,25 @@ int error; char name[16]; + ACPI_LOCK(thermal); + if (sc->tz_cooling_proc_running) { + ACPI_UNLOCK(thermal); + return (0); + } + sc->tz_cooling_proc_running = TRUE; + ACPI_UNLOCK(thermal); error = 0; - ACPI_LOCK(thermal); if (sc->tz_cooling_proc == NULL) { snprintf(name, sizeof(name), "acpi_cooling%d", device_get_unit(sc->tz_dev)); error = kthread_create(acpi_tz_cooling_thread, sc, &sc->tz_cooling_proc, RFHIGHPID, 0, name); - if (error != 0) + if (error != 0) { device_printf(sc->tz_dev, "could not create thread - %d", error); + ACPI_LOCK(thermal); + sc->tz_cooling_proc_running = FALSE; + ACPI_UNLOCK(thermal); + } } - ACPI_UNLOCK(thermal); return (error); } ==== //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.126 2005/06/10 07:43:10 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.127 2005/08/05 13:14:00 sos Exp $"); #include "opt_ata.h" #include @@ -1795,13 +1795,21 @@ ata_ite_ident(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); + struct ata_chip_id *idx; + static struct ata_chip_id ids[] = + {{ ATA_IT8212F, 0x00, 0x00, 0x00, ATA_UDMA6, "ITE IT8212F" }, + { ATA_IT8211F, 0x00, 0x00, 0x00, ATA_UDMA6, "ITE IT8211F" }, + { 0, 0, 0, 0, 0, 0}}; + char buffer[64]; + + if (!(idx = ata_match_chip(dev, ids))) + return ENXIO; - if (pci_get_devid(dev) == ATA_IT8212F) { - device_set_desc(dev, "ITE IT8212F ATA133 controller"); - ctlr->chipinit = ata_ite_chipinit; - return 0; - } - return ENXIO; + sprintf(buffer, "%s %s controller", idx->text, ata_mode2str(idx->max_dma)); + device_set_desc_copy(dev, buffer); + ctlr->chip = idx; + ctlr->chipinit = ata_ite_chipinit; + return 0; } static int ==== //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.49 2005/06/08 20:02:55 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.50 2005/08/05 13:14:00 sos Exp $ */ /* structure holding chipset config info */ @@ -149,6 +149,7 @@ #define ATA_I31244 0x32008086 #define ATA_ITE_ID 0x1283 +#define ATA_IT8211F 0x82111283 #define ATA_IT8212F 0x82121283 #define ATA_MICRON_ID 0x1042 ==== //depot/projects/netsmp/src/sys/dev/ata/ata-raid.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.98 2005/06/11 03:21:20 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.99 2005/08/04 18:39:36 sos Exp $"); #include "opt_ata.h" #include @@ -3114,7 +3114,6 @@ struct ata_device *atadev = device_get_softc(request->dev); request->transfersize = min(request->bytecount, atadev->max_iosize); - request->transfersize = DEV_BSIZE; if (request->flags & ATA_R_READ) { if (atadev->mode >= ATA_DMA) { request->flags |= ATA_R_DMA; @@ -3260,7 +3259,8 @@ switch (what) { case MOD_LOAD: - printf("ATA PseudoRAID loaded\n"); + if (bootverbose) + printf("ATA PseudoRAID loaded\n"); #if 0 /* setup table to hold metadata for all ATA PseudoRAID arrays */ ata_raid_arrays = malloc(sizeof(struct ar_soft *) * MAX_ARRAYS, @@ -3292,7 +3292,8 @@ continue; disk_destroy(rdp->disk); } - printf("ATA PseudoRAID unloaded\n"); + if (bootverbose) + printf("ATA PseudoRAID unloaded\n"); #if 0 free(ata_raid_arrays, M_AR); #endif ==== //depot/projects/netsmp/src/sys/dev/re/if_re.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.47 2005/08/03 00:18:32 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.48 2005/08/05 08:19:12 tobez Exp $"); /* * RealTek 8139C+/8169/8169S/8110S PCI NIC driver @@ -159,6 +159,8 @@ * Various supported device vendors/types and their names. */ static struct rl_type re_devs[] = { + { DLINK_VENDORID, DLINK_DEVICEID_528T, RL_HWREV_8169S, + "D-Link DGE-528(T) Gigabit Ethernet Adapter" }, { RT_VENDORID, RT_DEVICEID_8139, RL_HWREV_8139CPLUS, "RealTek 8139C+ 10/100BaseTX" }, { RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169, ==== //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#6 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.182 2005/08/03 00:18:34 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.183 2005/08/05 04:56:14 imp Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -294,8 +294,10 @@ if (error || IEEE80211_ADDR_EQ(ic->ic_myaddr, empty_macaddr)) { if (error != 0) device_printf(dev, "mac read failed %d\n", error); - else + else { device_printf(dev, "mac read failed (all zeros)\n"); + error = ENXIO; + } wi_free(dev); return (error); } ==== //depot/projects/netsmp/src/sys/i386/i386/ptrace_machdep.c#2 (text+ko) ==== @@ -26,7 +26,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/ptrace_machdep.c,v 1.3 2005/07/02 20:06:43 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/ptrace_machdep.c,v 1.4 2005/08/04 12:39:43 tobez Exp $"); + +#include "opt_cpu.h" #include #include ==== //depot/projects/netsmp/src/sys/net/if.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.239 2005/08/02 23:23:26 rwatson Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.240 2005/08/04 14:39:47 jhb Exp $ */ #include "opt_compat.h" @@ -408,6 +408,7 @@ return (NULL); } } + IF_ADDR_LOCK_INIT(ifp); return (ifp); } @@ -462,7 +463,6 @@ TASK_INIT(&ifp->if_starttask, 0, if_start_deferred, ifp); TASK_INIT(&ifp->if_linktask, 0, do_link_state_change, ifp); IF_AFDATA_LOCK_INIT(ifp); - IF_ADDR_LOCK_INIT(ifp); ifp->if_afdata_initialized = 0; IFNET_WLOCK(); TAILQ_INSERT_TAIL(&ifnet, ifp, if_link); ==== //depot/projects/netsmp/src/sys/pci/if_rlreg.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.51 2005/06/10 16:49:22 brooks Exp $ + * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.52 2005/08/05 08:19:12 tobez Exp $ */ /* @@ -796,6 +796,11 @@ #define DLINK_DEVICEID_530TXPLUS 0x1300 /* + * D-Link DFE-5280T device ID + */ +#define DLINK_DEVICEID_528T 0x4300 + +/* * D-Link DFE-690TXD device ID */ #define DLINK_DEVICEID_690TXD 0x1340 ==== //depot/projects/netsmp/src/sys/sys/ata.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/ata.h,v 1.26 2005/05/16 13:07:26 sos Exp $ + * $FreeBSD: src/sys/sys/ata.h,v 1.27 2005/08/05 13:05:45 sos Exp $ */ #ifndef _SYS_ATA_H_ @@ -400,7 +400,7 @@ /* ATA RAID ioctl calls */ #define IOCATARAIDCREATE _IOW('a', 200, struct ata_ioc_raid_config) #define IOCATARAIDDELETE _IOW('a', 201, int) -#define IOCATARAIDSTATUS _IOR('a', 202, struct ata_ioc_raid_config) +#define IOCATARAIDSTATUS _IOWR('a', 202, struct ata_ioc_raid_config) #define IOCATARAIDADDSPARE _IOW('a', 203, struct ata_ioc_raid_config) #define IOCATARAIDREBUILD _IOW('a', 204, int) From owner-p4-projects@FreeBSD.ORG Fri Aug 5 18:44:48 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C11716A421; Fri, 5 Aug 2005 18:44:48 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 33AD116A41F for ; Fri, 5 Aug 2005 18:44:48 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A3CB243D46 for ; Fri, 5 Aug 2005 18:44:47 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j75IilQJ008460 for ; Fri, 5 Aug 2005 18:44:47 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j75Iil1O008457 for perforce@freebsd.org; Fri, 5 Aug 2005 18:44:47 GMT (envelope-from soc-tyler@freebsd.org) Date: Fri, 5 Aug 2005 18:44:47 GMT Message-Id: <200508051844.j75Iil1O008457@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81514 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 18:44:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=81514 Change 81514 by soc-tyler@soc-tyler_launchd on 2005/08/05 18:44:33 Move pathnames.h to the includes folder, add the doxygen template for later, put init code on the backburner now, since it's not what's causing the daemon to exit. Line 546 fails for some reason, calls line 558 and doesn't allow launchd(8) to init. launchd(8) exits via the switch on line 389. Damn. Affected files ... .. //depot/projects/soc2005/launchd/Makefile#11 edit .. //depot/projects/soc2005/launchd/includes/launchd.h#7 edit .. //depot/projects/soc2005/launchd/includes/pathnames.h#1 add .. //depot/projects/soc2005/launchd/init.c#8 edit .. //depot/projects/soc2005/launchd/launchd.c#10 edit .. //depot/projects/soc2005/launchd/launchd.doxy#1 add .. //depot/projects/soc2005/launchd/liblaunch.c#3 edit .. //depot/projects/soc2005/launchd/pathnames.h#2 delete Differences ... ==== //depot/projects/soc2005/launchd/Makefile#11 (text+ko) ==== ==== //depot/projects/soc2005/launchd/includes/launchd.h#7 (text+ko) ==== @@ -1,4 +1,31 @@ /* + * $FreeBSD$ + * + * Copyright (c) 2005 R. Tyler Ballance All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE * + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* * Copyright (c) 2005 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ @@ -20,6 +47,7 @@ * * @APPLE_LICENSE_HEADER_END@ */ + #ifndef __LAUNCHD_H__ #define __LAUNCHD_H__ @@ -38,6 +66,7 @@ int kevent_mod(uintptr_t ident, short filter, u_short flags, u_int fflags, intptr_t data, void *udata); +/* note: the following functions are defined in ./init.c */ void init_boot(bool sflag, bool vflag, bool xflag); void init_pre_kevent(void); bool init_check_pid(pid_t); @@ -45,6 +74,7 @@ void clean_ttys(void); void catatonia(void); void death(void); +/* */ #ifdef _BUILD_DARWIN_ extern mach_port_t launchd_bootstrap_port; ==== //depot/projects/soc2005/launchd/init.c#8 (text+ko) ==== @@ -230,11 +230,15 @@ */ if (getsecuritylevel() == 0) setsecuritylevel(1); - +/* XXX: I'm not exactly sure what this macro call's purpose is, so I'm + * not going to touch it until it's time to execute launchd(8) as PID 1 + */ +#ifndef _LAUNCHD_ TAILQ_FOREACH(s, &sessions, tqe) { if (s->se_process == 0) session_launch(s); } +#endif } } @@ -450,6 +454,10 @@ * Bring the system up single user. */ void single_user(void) { +/* XXX: I'm not touching this until it's time to hack launchd(8) into + * becoming PID #1 + */ +#ifndef _LAUNCHD_ pid_t pid, wpid; int status; sigset_t mask; @@ -568,7 +576,7 @@ if (errno == EINTR) continue; warning("wait for single-user shell failed: %m; restarting"); - //return (state_func_t) single_user; + return (state_func_t) single_user; } if (wpid == pid && WIFSTOPPED(status)) { warning("init: shell stopped, restarting\n"); @@ -577,8 +585,8 @@ } } while (wpid != pid && !requested_transition); - //if (requested_transition) - //return (state_func_t) requested_transition; + if (requested_transition) + return (state_func_t) requested_transition; if (!WIFEXITED(status)) { if (WTERMSIG(status) == SIGKILL) { @@ -590,18 +598,21 @@ _exit(0); } else { warning("single user shell terminated, restarting"); - //return (state_func_t) single_user; + return (state_func_t) single_user; } } runcom_mode = FASTBOOT; - //return (state_func_t) runcom; + return (state_func_t) runcom; +#endif } /* * Run the system startup script. */ void runcom(void) { +/* XXX: I'm not touching this until it's time to get launchd(8) to act as PID 1 */ +#ifndef _LAUNCHD_ pid_t pid, wpid; int status; char *argv[4]; @@ -641,25 +652,25 @@ while (waitpid(-1, (int *) 0, WNOHANG) > 0) continue; sleep(STALL_TIMEOUT); - //return (state_func_t) single_user; + return (state_func_t) single_user; } /* * Copied from single_user(). This is a bit paranoid. */ - //requested_transition = 0; + requested_transition = 0; do { if ((wpid = waitpid(-1, &status, WUNTRACED)) != -1) collect_child(wpid); if (wpid == -1) { - //if (requested_transition == death) - //return (state_func_t) death; + if (requested_transition == death) + return (state_func_t) death; if (errno == EINTR) continue; warning("wait for %s on %s failed: %m; going to single user mode", _PATH_BSHELL, _PATH_RUNCOM); - //return (state_func_t) single_user; + return (state_func_t) single_user; } if (wpid == pid && WIFSTOPPED(status)) { warning("init: %s on %s stopped, restarting\n", @@ -682,16 +693,17 @@ if (!WIFEXITED(status)) { warning("%s on %s terminated abnormally, going to single user mode", _PATH_BSHELL, _PATH_RUNCOM); - //return (state_func_t) single_user; + return (state_func_t) single_user; } - //if (WEXITSTATUS(status)) - //return (state_func_t) single_user; + if (WEXITSTATUS(status)) + return (state_func_t) single_user; runcom_mode = AUTOBOOT; /* the default */ /* NB: should send a message to the session logger to avoid blocking. */ logwtmp("~", "reboot", ""); - //return (state_func_t) read_ttys; + return (state_func_t) read_ttys; +#endif } /* @@ -1057,6 +1069,8 @@ void collect_child(pid_t pid) { +/* XXX: Don't touch this until we want launchd(8) as PID 1 */ +#ifndef _LAUNCHD_ session_t *sp, *sprev, *snext; if (! sessions) @@ -1089,6 +1103,7 @@ sp->se_process = pid; sp->se_started = time((time_t *) 0); add_session(sp); +#endif } /* @@ -1097,6 +1112,8 @@ void transition_handler(int sig) { +/* XXX: Don't touch this until we want launchd(8) as PID 1 */ +#ifndef _LAUNCHD_ switch (sig) { case SIGHUP: @@ -1118,6 +1135,7 @@ requested_transition = 0; break; } +#endif } /* @@ -1126,6 +1144,8 @@ state_func_t multi_user(void) { +/* XXX: Don't touch this until we want launchd(8) as PID 1 */ +#ifndef _LAUNCHD_ pid_t pid; session_t *sp; @@ -1158,6 +1178,9 @@ collect_child(pid); return (state_func_t) requested_transition; +#endif +// XXX: return NULL just to make -Wall STFU + return NULL; // remove later, for PID 1 work } /* @@ -1333,6 +1356,8 @@ int runshutdown(void) { +/* XXX: Don't touch this until we want launchd(8) as PID 1 */ +#ifndef _LAUNCHD_ pid_t pid, wpid; int status; int shutdowntimeout; @@ -1466,6 +1491,9 @@ warning("%s returned status %d", _PATH_RUNDOWN, status); return status; +#endif +// XXX: return 0 just to make -Wall STFU + return 0; // remove later, for PID 1 work } static char * ==== //depot/projects/soc2005/launchd/launchd.c#10 (text+ko) ==== @@ -49,6 +49,7 @@ */ #ifdef _BUILD_DARWIN_ + #include #include #include @@ -110,8 +111,17 @@ #define LAUNCHD_REWARD_JOB_RUN_TIME 60 #define LAUNCHD_FAILED_EXITS_THRESHOLD 10 #define PID1LAUNCHD_CONF "/etc/launchd.conf" +/* XXX: will we really need a local launchd.conf? */ #define LAUNCHD_CONF ".launchd.conf" + +/* XXX: if _LAUNCHD_ is defined, then I'm working with the source code, so the + * the relevant launchctl(1) executable is in our current working dir. + */ +#ifdef _LAUNCHD_ +#define LAUNCHCTL_PATH "./launchctl/launchctl" +#else #define LAUNCHCTL_PATH "/sbin/launchctl" +#endif #ifdef _BUILD_DARWIN_ #define SECURITY_LIB "/System/Library/Frameworks/Security.framework/Versions/A/Security" @@ -120,6 +130,11 @@ extern char **environ; +//! launchd's job callback datastruct +/*! + * this structure contains all the necessary data for one of the job callbacks + * such as the PID, the kqueue callback (kq_callback) + */ struct jobcb { kq_callback kqjob_callback; TAILQ_ENTRY(jobcb) tqe; @@ -370,7 +385,7 @@ exit(EXIT_SUCCESS); } } - + // XXX: error: delays gdb step-through switch (kevent(mainkq, NULL, 0, &kev, 1, timeoutp)) { case -1: syslog(LOG_DEBUG, "kevent(): %m"); @@ -379,6 +394,7 @@ (*((kq_callback *)kev.udata))(kev.udata, &kev); break; case 0: + // XXX: timeoutp == 0, launchd(8) exits normally if (timeoutp) exit(EXIT_SUCCESS); else @@ -539,6 +555,7 @@ goto out_bad; } } else { + // XXX: launchd[12139]: mkdir("/var/launchd/1001"): Permission denied syslog(LOG_ERR, "mkdir(\"%s\"): %m", LAUNCHD_SOCK_PREFIX); goto out_bad; } ==== //depot/projects/soc2005/launchd/liblaunch.c#3 (text+ko) ==== @@ -1,4 +1,31 @@ /* + * $FreeBSD$ + * + * Copyright (c) 2005 R. Tyler Ballance All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE * + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* * Copyright (c) 2005 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ @@ -20,6 +47,7 @@ * * @APPLE_LICENSE_HEADER_END@ */ + #include #include #include @@ -35,6 +63,12 @@ #include "launch.h" #include "launch_priv.h" +//! the core data structure behind launchd(8) +/*! + * _launch_data is typedef'd to launch_data_t which is the versitile data + * structure behind the entire application, allowing for a linked list, a + * string, array, etc + */ struct _launch_data { launch_data_type_t type; union { From owner-p4-projects@FreeBSD.ORG Fri Aug 5 22:10:03 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF65416A421; Fri, 5 Aug 2005 22:10:02 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A93BA16A41F for ; Fri, 5 Aug 2005 22:10:02 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B41643D48 for ; Fri, 5 Aug 2005 22:10:02 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j75MA2Qm024013 for ; Fri, 5 Aug 2005 22:10:02 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j75MA2u0024010 for perforce@freebsd.org; Fri, 5 Aug 2005 22:10:02 GMT (envelope-from sam@freebsd.org) Date: Fri, 5 Aug 2005 22:10:02 GMT Message-Id: <200508052210.j75MA2u0024010@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 81527 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2005 22:10:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=81527 Change 81527 by sam@sam_ebb on 2005/08/05 22:09:02 oops, missing {}'s Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#35 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#35 (text+ko) ==== @@ -1174,11 +1174,12 @@ IEEE80211_RATE2MBS(ni->ni_rates.rs_rates[ni->ni_txrate])); } #endif - if (ic->ic_opmode == IEEE80211_M_STA) + if (ic->ic_opmode == IEEE80211_M_STA) { ieee80211_scan_assoc_success(ic, ni->ni_macaddr); ieee80211_notify_node_join(ic, ni, arg == IEEE80211_FC0_SUBTYPE_ASSOC_RESP); + } if_start(ifp); /* XXX not authorized yet */ break; } From owner-p4-projects@FreeBSD.ORG Sat Aug 6 10:47:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BBDD516A422; Sat, 6 Aug 2005 10:47:27 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 926FF16A41F for ; Sat, 6 Aug 2005 10:47:27 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6226E43D62 for ; Sat, 6 Aug 2005 10:47:25 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j76AlPfJ073133 for ; Sat, 6 Aug 2005 10:47:25 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j76AlPXH073130 for perforce@freebsd.org; Sat, 6 Aug 2005 10:47:25 GMT (envelope-from soc-victor@freebsd.org) Date: Sat, 6 Aug 2005 10:47:25 GMT Message-Id: <200508061047.j76AlPXH073130@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 81546 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Aug 2005 10:47:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=81546 Change 81546 by soc-victor@soc-victor_82.76.158.176 on 2005/08/06 10:46:41 This is the very first SNMP instrumentation for hrPartitionTable (based on libdisk). Things to be done: -implement the SNMP operations (get, get next, etc.); -link the table's entries to hrFSTable's entries Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#16 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#15 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#19 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#16 (text+ko) ==== @@ -34,11 +34,12 @@ hostres_swrun_tbl.c hostres_swrunperf_tbl.c \ hostres_device_tbl.c \ hostres_processor_tbl.c \ - hostres_diskstorage_tbl.c + hostres_diskstorage_tbl.c \ + hostres_partition_tbl.c WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr -CFLAGS+= -DNDEBUG +#CFLAGS+= -DNDEBUG XSYM= host hrStorageOther hrStorageRam hrStorageVirtualMemory \ hrStorageFixedDisk hrStorageRemovableDisk hrStorageFloppyDisk \ hrStorageCompactDisc hrStorageRamDisk hrStorageFlashMemory \ @@ -56,5 +57,5 @@ DEFS= ${MOD}_tree.def BMIBS= HOST-RESOURCES-MIB.txt HOST-RESOURCES-TYPES.txt -LDADD= -lkvm -ldevinfo -lm +LDADD= -lkvm -ldevinfo -lm -ldisk .include ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#5 (text+ko) ==== @@ -28,8 +28,8 @@ * * Host Resources MIB for SNMPd. Implementation for the hrDiskStorageTable */ - - + + #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include #include #include @@ -57,38 +57,48 @@ void hrDeviceTblEntry_delete_v( struct hrDeviceTblEntry* entry ); +extern +void +Partition_tbl_pre_refresh_v(void); +extern +void +Partition_tbl_post_refresh_v(void); + +void +handleDiskStorage(int32_t ds_index, const char* disk_dev_name); + static -struct hrDiskStorageTblEntry* +struct hrDiskStorageTblEntry* hrDiskStorageEntry_create( const struct hrDeviceTblEntry* devEntry) { - struct - hrDiskStorageTblEntry *entry = NULL; + struct + hrDiskStorageTblEntry *entry = NULL; - assert(devEntry != NULL); - if (devEntry == NULL) { - return NULL; - } - - if ((entry = malloc(sizeof(*entry))) == NULL) { - syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); - return (NULL); - } - memset(entry, 0, sizeof(*entry)); - entry->index = devEntry->index; - INSERT_OBJECT_INT(entry, &hrState_g.hr_disk_storage_tbl); - return entry; + assert(devEntry != NULL); + if (devEntry == NULL) { + return NULL; + } + + if ((entry = malloc(sizeof(*entry))) == NULL) { + syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); + return (NULL); + } + memset(entry, 0, sizeof(*entry)); + entry->index = devEntry->index; + INSERT_OBJECT_INT(entry, &hrState_g.hr_disk_storage_tbl); + return entry; } static void hrDiskStorageEntry_delete_v( struct hrDiskStorageTblEntry* entry ) { - assert(entry != NULL); - if (entry == NULL) { - return; - } - TAILQ_REMOVE(&hrState_g.hr_disk_storage_tbl, entry, link); - free(entry); + assert(entry != NULL); + if (entry == NULL) { + return; + } + TAILQ_REMOVE(&hrState_g.hr_disk_storage_tbl, entry, link); + free(entry); } @@ -96,723 +106,732 @@ struct hrDiskStorageTblEntry * hrDiskStorageTblEntry_find_by_index(int32_t idx) { - struct hrDiskStorageTblEntry *entry; + struct hrDiskStorageTblEntry *entry; - TAILQ_FOREACH(entry, &hrState_g.hr_disk_storage_tbl, link) - if (entry->index == idx) - return (entry); - return (NULL); + TAILQ_FOREACH(entry, &hrState_g.hr_disk_storage_tbl, link) + if (entry->index == idx) + return (entry); + return (NULL); } static -struct hrDeviceTblEntry* +struct hrDeviceTblEntry* hrDeviceTblEntry_create( const char* dev_name) { - struct - hrDeviceTblEntry *entry; - struct - deviceNameMapEntry *map = NULL; + struct + hrDeviceTblEntry *entry; + struct + deviceNameMapEntry *map = NULL; + + assert(dev_name != NULL); - assert(dev_name != NULL); + if (dev_name == NULL) { + return (NULL); + } + + if (dev_name[0] == '\0') { + return (NULL); + } + + if ((entry = malloc(sizeof(*entry))) == NULL) { + syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); + return (NULL); + } + memset(entry, 0, sizeof(*entry)); + - if (dev_name == NULL) { - return (NULL); - } + STAILQ_FOREACH(map, &hrState_g.device_name_map, link) + if (strcmp(map->name_key, dev_name) == 0) { + entry->index = map->hrIndex; + map->entry_p = entry; + break; + } + + if (map == NULL) { + /* new object - get a new index */ + if (hrState_g.next_hrDevice_index > INT_MAX) { + syslog(LOG_ERR, "%s: hrDeviceTable index wrap", __func__ ); + errx(1, "hrDeviceTable index wrap"); + } - if (dev_name[0] == '\0') { - return (NULL); - } + if ((map = malloc(sizeof(*map))) == NULL) { + syslog(LOG_ERR, "hrStorageTable: %s: %m", __func__ ); + free(entry); + return (NULL); + } + map->hrIndex = hrState_g.next_hrDevice_index ++; + + memset(&map->name_key[0], 0, sizeof(map->name_key)); + strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); + + memset(&map->location_key[0], 0, sizeof(map->location_key)); + snprintf(map->location_key, sizeof(map->location_key) - 1, "/dev/%s", dev_name); - if ((entry = malloc(sizeof(*entry))) == NULL) { - syslog(LOG_WARNING, "hrDiskStorageTable: %s: %m", __func__); - return (NULL); - } - memset(entry, 0, sizeof(*entry)); + map->entry_p = entry; + STAILQ_INSERT_TAIL(&hrState_g.device_name_map, map, link); + HR_DPRINTF((stderr, "%s at %s added into hrDeviceMap at index=%d\n ", + dev_name, + dev_name, map->hrIndex)); + } else { + HR_DPRINTF((stderr, "%s at %s exists in hrDeviceMap index=%d\n ", + dev_name, + dev_name, map->hrIndex)); - STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0) { - entry->index = map->hrIndex; - map->entry_p = entry; - break; - } - - if (map == NULL) { - /* new object - get a new index */ - if (hrState_g.next_hrDevice_index > INT_MAX) { - syslog(LOG_ERR, "%s: hrDeviceTable index wrap", __func__ ); - errx(1, "hrDeviceTable index wrap"); - } - - if ((map = malloc(sizeof(*map))) == NULL) { - syslog(LOG_ERR, "hrStorageTable: %s: %m", __func__ ); - free(entry); - return (NULL); - } - map->hrIndex = hrState_g.next_hrDevice_index ++; - - memset(&map->name_key[0], 0, sizeof(map->name_key)); - strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); - - memset(&map->location_key[0], 0, sizeof(map->location_key)); - snprintf(map->location_key, sizeof(map->location_key) - 1, "/dev/%s", dev_name); - - - map->entry_p = entry; - STAILQ_INSERT_TAIL(&hrState_g.device_name_map, map, link); - HR_DPRINTF((stderr, "%s at %s added into hrDeviceMap at index=%d\n ", - dev_name, - dev_name, map->hrIndex)); - } else { - HR_DPRINTF((stderr, "%s at %s exists in hrDeviceMap index=%d\n ", - dev_name, - dev_name, map->hrIndex)); - - } - - entry->index = map->hrIndex; - memset(&entry->name[0], 0, sizeof(entry->name)); - strncpy(entry->name, dev_name, sizeof(entry->name) - 1); - - memset(&entry->location[0], 0, sizeof(entry->location)); - snprintf(entry->location, sizeof(entry->location) - 1, "/dev/%s", dev_name); - - INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); - - return entry; - + } + + entry->index = map->hrIndex; + memset(&entry->name[0], 0, sizeof(entry->name)); + strncpy(entry->name, dev_name, sizeof(entry->name) - 1); + + memset(&entry->location[0], 0, sizeof(entry->location)); + snprintf(entry->location, sizeof(entry->location) - 1, "/dev/%s", dev_name); + + INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); + + return entry; + } - + static struct hrDeviceTblEntry* hrDeviceTblEntry_find_by_name(const char *dev_name) { - struct deviceNameMapEntry *map; - assert(dev_name != NULL); + struct deviceNameMapEntry *map; + assert(dev_name != NULL); + - - STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0 ) { - return (map->entry_p); - } - return (NULL); + STAILQ_FOREACH(map, &hrState_g.device_name_map, link) + if (strcmp(map->name_key, dev_name) == 0 ) { + return (map->entry_p); + } + return (NULL); } -static +static void hrDiskStorage_queryDisk(struct hrDiskStorageTblEntry *entry){ - char dev_path[128] = ""; - int fd = -1; - if (entry == NULL) { - return; - } - if( entry->dev_name[0] == '\0' ) { - return; - } - snprintf(dev_path, sizeof(dev_path) - 1, "/dev/%s", entry->dev_name); - entry->capacity = 0; - HR_DPRINTF((stderr,"OPENING device %s\n",dev_path)); - fd = open(dev_path, O_RDONLY|O_NONBLOCK); - if ( fd < 0 ) { - HR_DPRINTF((stderr,"OPEN device %s failed: %d (%s)\n", - dev_path, - errno, - strerror(errno))); - goto QUERY_DONE; - } else { - off_t mediasize = 0; - if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) < 0) { - HR_DPRINTF((stderr,"DIOCGMEDIASIZE for device %s failed: %d (%s)\n", - dev_path, - errno, - strerror(errno))); - goto QUERY_DONE; - } - mediasize = mediasize / 1024; - entry->capacity = (mediasize > (off_t)INT_MAX ? INT_MAX : mediasize); - } + char dev_path[128] = ""; + int fd = -1; + if (entry == NULL) { + return; + } + if( entry->dev_name[0] == '\0' ) { + return; + } + snprintf(dev_path, sizeof(dev_path) - 1, "/dev/%s", entry->dev_name); + entry->capacity = 0; + HR_DPRINTF((stderr,"OPENING device %s\n",dev_path)); + fd = open(dev_path, O_RDONLY|O_NONBLOCK); + if ( fd < 0 ) { + HR_DPRINTF((stderr,"OPEN device %s failed: %d (%s)\n", + dev_path, + errno, + strerror(errno))); + goto QUERY_DONE; + } else { + off_t mediasize = 0; + if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) < 0) { + HR_DPRINTF((stderr,"DIOCGMEDIASIZE for device %s failed: %d (%s)\n", + dev_path, + errno, + strerror(errno))); + goto QUERY_DONE; + } + mediasize = mediasize / 1024; + entry->capacity = (mediasize > (off_t)INT_MAX ? INT_MAX : mediasize); + if (entry->media == DSM_HARDDISK) { + /*this silly libdisk crashes if a empty cdrom device + is oppened*/ + handleDiskStorage(entry->index, entry->dev_name); + } + } QUERY_DONE: - if (fd > 0) { - close(fd); - } - + if (fd > 0) { + close(fd); + } + + + + } -static -void +static +void hrDiskStorage_OS_get_ATA_disks_v(void) { - struct hrDeviceTblEntry *entry = NULL; - struct hrDiskStorageTblEntry *disk_entry = NULL; + struct hrDeviceTblEntry *entry = NULL; + struct hrDiskStorageTblEntry *disk_entry = NULL; /* * Remove the pre 6 vesrion if not needed */ -#if __FreeBSD_version < 600000 +#if __FreeBSD_version < 600000 - struct ata_cmd iocmd; - int maxunit, unit, i; - if ( hrState_g.ata_fd < 0 ){ - return; - } + struct ata_cmd iocmd; + int maxunit, unit, i; + if ( hrState_g.ata_fd < 0 ){ + return; + } + + iocmd.cmd = ATAGMAXCHANNEL; + if (ioctl(hrState_g.ata_fd, IOCATA, &iocmd) < 0) { + syslog(LOG_ERR, "ioctl(ATAGMAXCHANNEL) failed: %m"); + goto ATA_DONE; + } + maxunit = iocmd.u.maxchan; + for (unit = 0; unit < maxunit; unit++) { + struct ata_cmd u_iocmd; - iocmd.cmd = ATAGMAXCHANNEL; - if (ioctl(hrState_g.ata_fd, IOCATA, &iocmd) < 0) { - syslog(LOG_ERR, "ioctl(ATAGMAXCHANNEL) failed: %m"); - goto ATA_DONE; - } - maxunit = iocmd.u.maxchan; - for (unit = 0; unit < maxunit; unit++) { - struct ata_cmd u_iocmd; + memset(&u_iocmd, 0, sizeof(struct ata_cmd)); + u_iocmd.channel = unit; + u_iocmd.device = -1; + u_iocmd.cmd = ATAGPARM; + if (ioctl(hrState_g.ata_fd, IOCATA, &u_iocmd) < 0) { + syslog(LOG_ERR, "ioctl(IOCATA) failed: %m"); + continue; + } - memset(&u_iocmd, 0, sizeof(struct ata_cmd)); - u_iocmd.channel = unit; - u_iocmd.device = -1; - u_iocmd.cmd = ATAGPARM; - if (ioctl(hrState_g.ata_fd, IOCATA, &u_iocmd) < 0) { - syslog(LOG_ERR, "ioctl(IOCATA) failed: %m"); - continue; - } + for(i=0; i<=1; i++) { + if (!u_iocmd.u.param.type[i]) { + continue; + } + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(u_iocmd.u.param.name[i]); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", + u_iocmd.u.param.name[i] )); + entry = hrDeviceTblEntry_create(u_iocmd.u.param.name[i]); + assert(entry != NULL); + if (entry == NULL) { + continue; + } - for(i=0; i<=1; i++) { - if (!u_iocmd.u.param.type[i]) { - continue; - } - /*first check if this disk is in hrDeiveTable*/ - entry = hrDeviceTblEntry_find_by_name(u_iocmd.u.param.name[i]); - if (entry == NULL) { - HR_DPRINTF((stderr, - "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", - u_iocmd.u.param.name[i] )); - entry = hrDeviceTblEntry_create(u_iocmd.u.param.name[i]); - assert(entry != NULL); - if (entry == NULL) { - continue; - } - - entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; - entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DR_RUNNING; - entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, - "%s: <%s, ser. %s> ", - u_iocmd.u.param.name[i], - u_iocmd.u.param.params[i].model, - u_iocmd.u.param.params[i].serial); - - }else{ - HR_DPRINTF((stderr, - "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", - u_iocmd.u.param.name[i] )); - } - entry->flags |= HR_DEVICE_IMMUTABLE; - entry->flags |= HR_DEVICE_FOUND; - - /*Then check hrDiskStorage table for this device*/ - disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); - if (disk_entry == NULL) { - disk_entry = hrDiskStorageEntry_create(entry); - assert(disk_entry != NULL); - if (disk_entry == NULL) { - continue; - } - disk_entry->access = DS_READ_WRITE; - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, u_iocmd.u.param.name[i], sizeof(disk_entry->dev_name)-1); - - if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { - disk_entry->media = DSM_HARDDISK; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { - disk_entry->media = DSM_OPTICALDISKROM; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { - disk_entry->media = DSM_FLOPPYDISK; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_TRUE; - } else { - disk_entry->media = DSM_UNKNOWN; - disk_entry->removable = SNMP_FALSE; - } - - } - disk_entry->flags |= HR_DISKSTORAGE_FOUND; - disk_entry->flags |= HR_DISKSTORAGE_ATA; - - hrDiskStorage_queryDisk(disk_entry); - disk_entry->r_tick = this_tick; - } - } + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: <%s, ser. %s> ", + u_iocmd.u.param.name[i], + u_iocmd.u.param.params[i].model, + u_iocmd.u.param.params[i].serial); + + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", + u_iocmd.u.param.name[i] )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; + + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + disk_entry->access = DS_READ_WRITE; + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, u_iocmd.u.param.name[i], sizeof(disk_entry->dev_name)-1); + + if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { + disk_entry->media = DSM_HARDDISK; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { + disk_entry->media = DSM_OPTICALDISKROM; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { + disk_entry->media = DSM_FLOPPYDISK; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_TRUE; + } else { + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + } + + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_ATA; + + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; + } + } ATA_DONE: - return; + return; #else /* * This the post 6 version: it is here to stay */ - int maxunit, unit, i; - if ( hrState_g.ata_fd < 0 ){ - return; - } + int maxunit, unit, i; + if ( hrState_g.ata_fd < 0 ){ + return; + } + + + if (ioctl(hrState_g.ata_fd, IOCATAGMAXCHANNEL, &maxunit) < 0) { + syslog(LOG_ERR, "ioctl(IOCATAGMAXCHANNEL) failed: %m"); + goto ATA_DONE; + } + for (unit = 0; unit < maxunit; unit++) { + struct ata_ioc_devices devices; + memset(&devices, 0, sizeof(devices)); + + devices.channel = unit; - if (ioctl(hrState_g.ata_fd, IOCATAGMAXCHANNEL, &maxunit) < 0) { - syslog(LOG_ERR, "ioctl(IOCATAGMAXCHANNEL) failed: %m"); - goto ATA_DONE; - } - for (unit = 0; unit < maxunit; unit++) { - struct ata_ioc_devices devices; - memset(&devices, 0, sizeof(devices)); + if (ioctl(hrState_g.ata_fd, IOCATADEVICES, &devices) < 0) { + HR_DPRINTF((stderr, "ioctl(IOCATADEVICES) failed: %s\n", strerror(errno))); + continue; + } - devices.channel = unit; + for(i=0; i<=1; i++) { + if (*devices.name[i] == 0) { + continue; + } + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(devices.name[i]); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", + devices.name[i] )); + entry = hrDeviceTblEntry_create(devices.name[i]); + assert(entry != NULL); + if (entry == NULL) { + continue; + } - - if (ioctl(hrState_g.ata_fd, IOCATADEVICES, &devices) < 0) { - HR_DPRINTF((stderr, "ioctl(IOCATADEVICES) failed: %s\n", strerror(errno))); - continue; - } - - for(i=0; i<=1; i++) { - if (*devices.name[i] == 0) { - continue; - } - /*first check if this disk is in hrDeiveTable*/ - entry = hrDeviceTblEntry_find_by_name(devices.name[i]); - if (entry == NULL) { - HR_DPRINTF((stderr, - "hrDiskStorageTable: ATA disk %s not in hrDeviceTable\n", - devices.name[i] )); - entry = hrDeviceTblEntry_create(devices.name[i]); - assert(entry != NULL); - if (entry == NULL) { - continue; - } - - entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; - entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DR_RUNNING; - entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, - "%s: <%s, ser. %s> ", - devices.name[i], - devices.params[i].model, - devices.params[i].serial); - - }else{ - HR_DPRINTF((stderr, - "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", - devices.name[i] )); - } - entry->flags |= HR_DEVICE_IMMUTABLE; - entry->flags |= HR_DEVICE_FOUND; - - /*Then check hrDiskStorage table for this device*/ - disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); - if (disk_entry == NULL) { - disk_entry = hrDiskStorageEntry_create(entry); - assert(disk_entry != NULL); - if (disk_entry == NULL) { - continue; - } - disk_entry->access = DS_READ_WRITE; - memset(&disk_entry->dev_name[0], 0, - sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, - devices.name[i], - sizeof(disk_entry->dev_name)-1); - - if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { - disk_entry->media = DSM_HARDDISK; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { - disk_entry->media = DSM_OPTICALDISKROM; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { - disk_entry->media = DSM_FLOPPYDISK; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_TRUE; - } else { - disk_entry->media = DSM_UNKNOWN; - disk_entry->removable = SNMP_FALSE; - } - - } - disk_entry->flags |= HR_DISKSTORAGE_FOUND; - disk_entry->flags |= HR_DISKSTORAGE_ATA; - - hrDiskStorage_queryDisk(disk_entry); - disk_entry->r_tick = this_tick; - } - } + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: <%s, ser. %s> ", + devices.name[i], + devices.params[i].model, + devices.params[i].serial); + + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; ATA disk %s already in hrDeviceTable\n", + devices.name[i] )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; + + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + disk_entry->access = DS_READ_WRITE; + memset(&disk_entry->dev_name[0], 0, + sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, + devices.name[i], + sizeof(disk_entry->dev_name)-1); + + if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { + disk_entry->media = DSM_HARDDISK; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_FALSE; + } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { + disk_entry->media = DSM_OPTICALDISKROM; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { + disk_entry->media = DSM_FLOPPYDISK; + disk_entry->removable = SNMP_TRUE; + } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { + disk_entry->media = DSM_OTHER; + disk_entry->removable = SNMP_TRUE; + } else { + disk_entry->media = DSM_UNKNOWN; + disk_entry->removable = SNMP_FALSE; + } + + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_ATA; + + hrDiskStorage_queryDisk(disk_entry); + disk_entry->r_tick = this_tick; + } + } ATA_DONE: - return; + return; #endif /* __FreeBSD_version < 600000 */ -} +} -static -void +static +void hrDiskStorage_OS_get_MD_disks_v(void) { - struct hrDeviceTblEntry *entry = NULL; - struct hrDiskStorageTblEntry *disk_entry = NULL; + struct hrDeviceTblEntry *entry = NULL; + struct hrDiskStorageTblEntry *disk_entry = NULL; - struct md_ioctl mdio; - int unit = 0; + struct md_ioctl mdio; + int unit = 0; + + if ( hrState_g.md_fd < 0 ){ + return; + } + memset(&mdio, 0, sizeof(mdio)); + mdio.md_version = MDIOVERSION; + mdio.md_options = MD_AUTOUNIT; + + if (ioctl( hrState_g.md_fd, MDIOCLIST, &mdio) < 0) { + syslog(LOG_ERR, "ioctl(/dev/%s) failed: %m", MDCTL_NAME); + return; + } + for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { + char mddev[64] = ""; + snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); + struct md_ioctl u_mdio; - if ( hrState_g.md_fd < 0 ){ - return; - } - memset(&mdio, 0, sizeof(mdio)); - mdio.md_version = MDIOVERSION; - mdio.md_options = MD_AUTOUNIT; + memset(&u_mdio, 0, sizeof(u_mdio)); + u_mdio.md_version = MDIOVERSION; + u_mdio.md_unit = mdio.md_pad[unit + 1]; - if (ioctl( hrState_g.md_fd, MDIOCLIST, &mdio) < 0) { - syslog(LOG_ERR, "ioctl(/dev/%s) failed: %m", MDCTL_NAME); - return; - } - for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { - char mddev[64] = ""; - snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); - struct md_ioctl u_mdio; + if (ioctl( hrState_g.md_fd, MDIOCQUERY, &u_mdio) < 0) { + syslog(LOG_ERR, "ioctl(/dev/%s, MDIOCQUERY) [%s] failed: %m", MDCTL_NAME, mddev); + continue; + } - memset(&u_mdio, 0, sizeof(u_mdio)); - u_mdio.md_version = MDIOVERSION; - u_mdio.md_unit = mdio.md_pad[unit + 1]; - if (ioctl( hrState_g.md_fd, MDIOCQUERY, &u_mdio) < 0) { - syslog(LOG_ERR, "ioctl(/dev/%s, MDIOCQUERY) [%s] failed: %m", MDCTL_NAME, mddev); - continue; - } + /*first check if this disk is in hrDeiveTable*/ + entry = hrDeviceTblEntry_find_by_name(mddev); + if (entry == NULL) { + HR_DPRINTF((stderr, + "hrDiskStorageTable; MD %s not in hrDeviceTable\n", + mddev )); + entry = hrDeviceTblEntry_create(mddev); + assert(entry != NULL); + if (entry == NULL) { + continue; + } + entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; + entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ + entry->status = DR_RUNNING; + entry->errors = 0; /*FIX ME*/ + snprintf(entry->descr, sizeof(entry->descr) - 1, + "%s: Memory Disk ", + mddev); + + }else{ + HR_DPRINTF((stderr, + "hrDiskStorageTable; MD %s already in hrDeviceTable\n", + mddev )); + } + entry->flags |= HR_DEVICE_IMMUTABLE; + entry->flags |= HR_DEVICE_FOUND; + + /*Then check hrDiskStorage table for this device*/ + disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); + if (disk_entry == NULL) { + disk_entry = hrDiskStorageEntry_create(entry); + assert(disk_entry != NULL); + if (disk_entry == NULL) { + continue; + } + if ((u_mdio.md_options & MD_READONLY) == MD_READONLY) { + disk_entry->access = DS_READ_ONLY; + } else { + disk_entry->access = DS_READ_WRITE; + } + memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); + strncpy(disk_entry->dev_name, mddev, sizeof(disk_entry->dev_name)-1); - /*first check if this disk is in hrDeiveTable*/ - entry = hrDeviceTblEntry_find_by_name(mddev); - if (entry == NULL) { - HR_DPRINTF((stderr, - "hrDiskStorageTable; MD %s not in hrDeviceTable\n", - mddev )); - entry = hrDeviceTblEntry_create(mddev); - assert(entry != NULL); - if (entry == NULL) { - continue; - } - - entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; - entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DR_RUNNING; - entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, - "%s: Memory Disk ", - mddev); - - }else{ - HR_DPRINTF((stderr, - "hrDiskStorageTable; MD %s already in hrDeviceTable\n", - mddev )); - } - entry->flags |= HR_DEVICE_IMMUTABLE; - entry->flags |= HR_DEVICE_FOUND; - - /*Then check hrDiskStorage table for this device*/ - disk_entry = hrDiskStorageTblEntry_find_by_index(entry->index); - if (disk_entry == NULL) { - disk_entry = hrDiskStorageEntry_create(entry); - assert(disk_entry != NULL); - if (disk_entry == NULL) { - continue; - } - if ((u_mdio.md_options & MD_READONLY) == MD_READONLY) { - disk_entry->access = DS_READ_ONLY; - } else { - disk_entry->access = DS_READ_WRITE; - } - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, mddev, sizeof(disk_entry->dev_name)-1); - - disk_entry->media = DSM_RAMDISK; - disk_entry->removable = SNMP_FALSE; - - - } - disk_entry->flags |= HR_DISKSTORAGE_FOUND; - disk_entry->flags |= HR_DISKSTORAGE_MD; + disk_entry->media = DSM_RAMDISK; + disk_entry->removable = SNMP_FALSE; + + + } + disk_entry->flags |= HR_DISKSTORAGE_FOUND; + disk_entry->flags |= HR_DISKSTORAGE_MD; /* * Remove the pre 6 vesrion if not needed */ -#if __FreeBSD_version < 600000 - disk_entry->capacity = u_mdio.md_size / 2; -#else - disk_entry->capacity = u_mdio.md_mediasize / 1024; -#endif /*__FreeBSD_version < 600000 */ - disk_entry->r_tick = this_tick; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Aug 6 19:49:47 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE19516A421; Sat, 6 Aug 2005 19:49:46 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 94F0616A41F for ; Sat, 6 Aug 2005 19:49:46 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 31A8543D46 for ; Sat, 6 Aug 2005 19:49:46 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j76JnkWU017325 for ; Sat, 6 Aug 2005 19:49:46 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j76Jnj2h017322 for perforce@freebsd.org; Sat, 6 Aug 2005 19:49:45 GMT (envelope-from soc-victor@freebsd.org) Date: Sat, 6 Aug 2005 19:49:45 GMT Message-Id: <200508061949.j76Jnj2h017322@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 81572 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Aug 2005 19:49:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=81572 Change 81572 by soc-victor@soc-victor_82.76.158.176 on 2005/08/06 19:49:02 Finished the SNMP instrumentation for hrPartitionTable. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#17 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c#2 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile#17 (text+ko) ==== @@ -39,7 +39,7 @@ WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr -#CFLAGS+= -DNDEBUG +CFLAGS+= -DNDEBUG XSYM= host hrStorageOther hrStorageRam hrStorageVirtualMemory \ hrStorageFixedDisk hrStorageRemovableDisk hrStorageFloppyDisk \ hrStorageCompactDisc hrStorageRamDisk hrStorageFlashMemory \ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#3 (text+ko) ==== @@ -42,6 +42,10 @@ #include #include +extern +void +handle_partition_fs_index(const char *name, int32_t fs_idx); + static struct hrFSTblEntry* hrFSTblEntry_create( const char *name ) { @@ -322,7 +326,10 @@ memset(&entry->lastPartialBackupDate[0], 0, sizeof(entry->lastPartialBackupDate)); /*Info not available*/ - + + + handle_partition_fs_index(fs_p->f_mntfromname, entry->index); + return; } if ((entry = hrFSTblEntry_create(fs_p->f_mntonname)) != NULL) { @@ -368,6 +375,7 @@ memset(&entry->lastPartialBackupDate[0], 0, sizeof(entry->lastPartialBackupDate)); /*Info not available*/ + handle_partition_fs_index(fs_p->f_mntfromname, entry->index); } return; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c#2 (text+ko) ==== @@ -50,6 +50,10 @@ void Partition_tbl_post_refresh_v(void); +void +handle_partition_fs_index(const char *name, int32_t fs_idx); + + static struct hrPartitionTblEntry* hrPartitonTblEntry_create( int32_t ds_index, const struct chunk* curr_chunk) { @@ -151,6 +155,17 @@ } static +struct hrPartitionTblEntry* +hrPartitionTblEntry_find_by_label(const char *name) { + struct hrPartitionTblEntry *entry = NULL; + + TAILQ_FOREACH(entry, &hrState_g.hr_partition_tbl, link) + if (strncmp(entry->label, name, sizeof(entry->label) - 1) == 0) + return (entry); + return (NULL); +} + +static void handleChunk(int32_t ds_index, const struct chunk* chunk_p) { struct hrPartitionTblEntry* entry = NULL; assert(chunk_p != NULL); @@ -168,10 +183,10 @@ } assert(entry != NULL); entry->flags |= HR_PARTITION_FOUND; - strncpy(entry->label,chunk_p->name, sizeof(entry->label) - 1); - entry->size = chunk_p->size/2; - entry->fs_Index = 0; /*FIX ME*/ - + snprintf(entry->label, sizeof(entry->label) - 1, "/dev/%s", chunk_p->name ); + daddr_t k_size= chunk_p->size/2; + /*may overflow the SNMP type*/ + entry->size = ( k_size > (daddr_t)INT_MAX ? INT_MAX : k_size ); } void handleDiskStorage(int32_t ds_index, const char* disk_dev_name) { @@ -261,12 +276,96 @@ hrState_g.hrPartition_tbl_age = time(NULL); } -int op_hrPartitionTable(struct snmp_context *ctx __unused, - struct snmp_value *value __unused, - u_int sub __unused, - u_int iidx __unused, - enum snmp_op curr_op __unused) + +void +handle_partition_fs_index(const char *name, int32_t fs_idx){ + struct hrPartitionTblEntry* entry = NULL; + + entry = hrPartitionTblEntry_find_by_label(name); + if (entry == NULL) { + HR_DPRINTF((stderr, "%s IS MISSING from hrPartitionTable\n ", name)); + } else { + HR_DPRINTF((stderr, "%s [FS index = %d] IS in hrPartitionTable\n ", name, fs_idx)); + entry->fs_Index = fs_idx; + } + +} + + +int op_hrPartitionTable(struct snmp_context *ctx __unused, struct snmp_value *value, + u_int sub, u_int iidx __unused, enum snmp_op op) { - return (SNMP_ERR_NOSUCHNAME); + struct hrPartitionTblEntry *entry = NULL; + int ret = SNMP_ERR_NOERROR; + + if ( (time(NULL) - hrState_g.hrDiskStorage_age) > HR_DISKSTORAGE_TBL_REFRESH ) { + HR_DPRINTF((stderr, "%s: need refresh\n ",__func__)); + refresh_DiskStorage_tbl_v(); + } + + switch (op) { + + case SNMP_OP_GETNEXT: { + int found = 0; + TAILQ_FOREACH(entry, &hrState_g.hr_partition_tbl, link) + if (index_compare(&value->var, sub, &entry->index) < 0) { + found = 1; + break; + } + if (found == 0) { + return (SNMP_ERR_NOSUCHNAME); + } + index_append(&value->var, sub, &entry->index); + break; + } + case SNMP_OP_GET: { + int found = 0; + TAILQ_FOREACH(entry, &hrState_g.hr_partition_tbl, link) + if (index_compare(&value->var, sub, &entry->index) == 0) { + found = 1; + break; + } + if (found == 0) { + return (SNMP_ERR_NOSUCHNAME); + } + break; + } + case SNMP_OP_SET: + return (SNMP_ERR_NOT_WRITEABLE); + + case SNMP_OP_ROLLBACK: + case SNMP_OP_COMMIT: + default: + assert(0); + return (SNMP_ERR_NOERROR); + } + + if (entry == NULL) { + return (SNMP_ERR_GENERR); + } + + switch (value->var.subs[sub - 1]) { + + case LEAF_hrPartitionIndex: + value->v.integer = entry->index.subs[1]; + break; + + case LEAF_hrPartitionLabel: + ret = string_get(value, entry->label, -1); + break; + + case LEAF_hrPartitionID: + ret = string_get(value, entry->id, -1); + break; + + case LEAF_hrPartitionSize: + value->v.integer = entry->size; + break; + + case LEAF_hrPartitionFSIndex: + value->v.integer = entry->fs_Index; + break; + } + return (ret); }