Author: davide
Date: Fri Jun 28 21:00:08 2013
New Revision: 252356
URL: http://svnweb.freebsd.org/changeset/base/252356

Log:
  - Trim an unused and bogus Makefile for mount_smbfs.
  - Reconnect with some minor modifications, in particular now selsocket()
  internals are adapted to use sbintime units after recent'ish calloutng
  switch.

Deleted:
  head/contrib/smbfs/mount_smbfs/Makefile
Modified:
  head/etc/defaults/rc.conf
  head/etc/mtree/BSD.include.dist
  head/etc/mtree/BSD.usr.dist
  head/include/Makefile
  head/lib/Makefile
  head/lib/libprocstat/Makefile
  head/lib/libprocstat/common_kvm.h
  head/lib/libprocstat/libprocstat.c
  head/rescue/rescue/Makefile
  head/sbin/mount/mount.8
  head/sbin/mount/mount.c
  head/share/examples/Makefile
  head/share/examples/etc/README.examples
  head/share/mk/bsd.libnames.mk
  head/sys/conf/NOTES
  head/sys/conf/files
  head/sys/conf/files.amd64
  head/sys/conf/files.arm
  head/sys/conf/files.i386
  head/sys/conf/files.ia64
  head/sys/conf/files.mips
  head/sys/conf/files.pc98
  head/sys/conf/files.powerpc
  head/sys/conf/files.sparc64
  head/sys/conf/options
  head/sys/kern/Make.tags.inc
  head/sys/kern/sys_generic.c
  head/sys/modules/Makefile
  head/sys/sys/socketvar.h
  head/usr.bin/Makefile.amd64
  head/usr.bin/Makefile.i386
  head/usr.bin/Makefile.ia64
  head/usr.bin/Makefile.powerpc
  head/usr.bin/Makefile.sparc64
  head/usr.bin/kdump/kdump.c
  head/usr.sbin/Makefile.amd64
  head/usr.sbin/Makefile.i386
  head/usr.sbin/Makefile.ia64
  head/usr.sbin/Makefile.powerpc
  head/usr.sbin/Makefile.sparc64

Modified: head/etc/defaults/rc.conf
==============================================================================
--- head/etc/defaults/rc.conf   Fri Jun 28 20:32:48 2013        (r252355)
+++ head/etc/defaults/rc.conf   Fri Jun 28 21:00:08 2013        (r252356)
@@ -88,7 +88,7 @@ fsck_y_enable="NO"    # Set to YES to do fs
 fsck_y_flags=""                # Additional flags for fsck -y
 background_fsck="YES"  # Attempt to run fsck in the background where possible.
 background_fsck_delay="60" # Time to wait (seconds) before starting the fsck.
-netfs_types="nfs:NFS oldnfs:OLDNFS" # Net filesystems.
+netfs_types="nfs:NFS oldnfs:OLDNFS smbfs:SMB" # Net filesystems.
 extra_netfs_types="NO" # List of network extra filesystem types for delayed
                        # mount at startup (or NO).
 

Modified: head/etc/mtree/BSD.include.dist
==============================================================================
--- head/etc/mtree/BSD.include.dist     Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/etc/mtree/BSD.include.dist     Fri Jun 28 21:00:08 2013        
(r252356)
@@ -176,6 +176,8 @@
         ..
         procfs
         ..
+        smbfs
+        ..
         udf
         ..
         unionfs

Modified: head/etc/mtree/BSD.usr.dist
==============================================================================
--- head/etc/mtree/BSD.usr.dist Fri Jun 28 20:32:48 2013        (r252355)
+++ head/etc/mtree/BSD.usr.dist Fri Jun 28 21:00:08 2013        (r252356)
@@ -309,6 +309,10 @@
                 srcs
                 ..
             ..
+            smbfs
+                print
+                ..
+            ..
             sunrpc
                 dir
                 ..

Modified: head/include/Makefile
==============================================================================
--- head/include/Makefile       Fri Jun 28 20:32:48 2013        (r252355)
+++ head/include/Makefile       Fri Jun 28 21:00:08 2013        (r252356)
@@ -37,7 +37,7 @@ LHDRS=        aio.h errno.h fcntl.h linker_set.
        syslog.h ucontext.h
 
 LDIRS= bsm cam geom net net80211 netatalk netgraph netinet netinet6 \
-       netipsec ${_netipx} netnatm \
+       netipsec ${_netipx} netnatm netsmb \
        nfs nfsclient nfsserver \
        sys vm
 
@@ -48,7 +48,7 @@ LSUBDIRS=     cam/ata cam/scsi \
        dev/ofw dev/pbio dev/pci ${_dev_powermac_nvram} dev/ppbus dev/smbus \
        dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
        fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/nullfs \
-       fs/procfs fs/udf fs/unionfs \
+       fs/procfs fs/smbfs fs/udf fs/unionfs \
        geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
        geom/mirror geom/mountver geom/multipath geom/nop \
        geom/raid geom/raid3 geom/shsec geom/stripe geom/virstor \
@@ -80,6 +80,7 @@ INCS+=        iconv.h
 LSUBSUBDIRS+=  netgraph/bluetooth/include
 .endif
 
+# XXX unconditionally needed by <netsmb/netbios.h>
 #.if ${MK_IPX} != "no"
 _netipx=       netipx
 #.endif

Modified: head/lib/Makefile
==============================================================================
--- head/lib/Makefile   Fri Jun 28 20:32:48 2013        (r252355)
+++ head/lib/Makefile   Fri Jun 28 21:00:08 2013        (r252356)
@@ -102,6 +102,7 @@ SUBDIR=     ${SUBDIR_ORDERED} \
        ${_librtld_db} \
        ${_libsdp} \
        ${_libsm} \
+       ${_libsmb} \
        ${_libsmdb} \
        ${_libsmutil} \
        libstand \
@@ -205,6 +206,7 @@ _libypclnt= libypclnt
 .endif
 
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+_libsmb=       libsmb
 _libvgl=       libvgl
 _libproc=      libproc
 _librtld_db=   librtld_db
@@ -216,6 +218,7 @@ _libvmmapi= libvmmapi
 
 .if ${MACHINE_CPUARCH} == "ia64"
 _libefi=       libefi
+_libsmb=       libsmb
 .endif
 
 .if ${MACHINE_CPUARCH} == "mips"
@@ -226,6 +229,11 @@ _librtld_db=       librtld_db
 .if ${MACHINE_CPUARCH} == "powerpc"
 _libproc=      libproc
 _librtld_db=   librtld_db
+_libsmb=       libsmb
+.endif
+
+.if ${MACHINE_CPUARCH} == "sparc64"
+_libsmb=       libsmb
 .endif
 
 .if ${MK_OPENSSL} != "no"

Modified: head/lib/libprocstat/Makefile
==============================================================================
--- head/lib/libprocstat/Makefile       Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/lib/libprocstat/Makefile       Fri Jun 28 21:00:08 2013        
(r252356)
@@ -9,6 +9,7 @@ SRCS=   cd9660.c        \
        core.c          \
        libprocstat.c   \
         msdosfs.c      \
+       smbfs.c         \
        udf.c
 
 VERSION_DEF=   ${.CURDIR}/Versions.def

Modified: head/lib/libprocstat/common_kvm.h
==============================================================================
--- head/lib/libprocstat/common_kvm.h   Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/lib/libprocstat/common_kvm.h   Fri Jun 28 21:00:08 2013        
(r252356)
@@ -41,6 +41,7 @@ int   devfs_filestat(kvm_t *kd, struct vno
 int    isofs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);
 int    msdosfs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);
 int    nfs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);
+int    smbfs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);
 int    udf_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);
 int    ufs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);
 int    zfs_filestat(kvm_t *kd, struct vnode *vp, struct vnstat *vn);

Modified: head/lib/libprocstat/libprocstat.c
==============================================================================
--- head/lib/libprocstat/libprocstat.c  Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/lib/libprocstat/libprocstat.c  Fri Jun 28 21:00:08 2013        
(r252356)
@@ -1220,6 +1220,7 @@ procstat_get_vnode_info_kvm(kvm_t *kd, s
                FSTYPE(isofs),
                FSTYPE(msdosfs),
                FSTYPE(nfs),
+               FSTYPE(smbfs),
                FSTYPE(udf), 
                FSTYPE(ufs),
 #ifdef LIBPROCSTAT_ZFS

Modified: head/rescue/rescue/Makefile
==============================================================================
--- head/rescue/rescue/Makefile Fri Jun 28 20:32:48 2013        (r252355)
+++ head/rescue/rescue/Makefile Fri Jun 28 21:00:08 2013        (r252356)
@@ -130,6 +130,8 @@ CRUNCH_LIBS+= -lgeom -lbsdxml -lkiconv -
 .if ${MACHINE_CPUARCH} == "i386"
 CRUNCH_PROGS_sbin+= bsdlabel sconfig fdisk
 CRUNCH_ALIAS_bsdlabel= disklabel
+#CRUNCH_PROGS+= mount_smbfs
+#CRUNCH_LIBS+= -lsmb
 .endif
 
 .if ${MACHINE} == "pc98"

Modified: head/sbin/mount/mount.8
==============================================================================
--- head/sbin/mount/mount.8     Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sbin/mount/mount.8     Fri Jun 28 21:00:08 2013        (r252356)
@@ -450,6 +450,7 @@ However, for the following file system t
 .Cm nfs ,
 .Cm nullfs ,
 .Cm oldnfs ,
+.Cm smbfs ,
 .Cm udf ,
 and
 .Cm unionfs .
@@ -544,6 +545,7 @@ support for a particular file system mig
 .Xr mount_msdosfs 8 ,
 .Xr mount_nfs 8 ,
 .Xr mount_nullfs 8 ,
+.Xr mount_smbfs 8 ,
 .Xr mount_udf 8 ,
 .Xr mount_unionfs 8 ,
 .Xr umount 8 ,

Modified: head/sbin/mount/mount.c
==============================================================================
--- head/sbin/mount/mount.c     Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sbin/mount/mount.c     Fri Jun 28 21:00:08 2013        (r252356)
@@ -143,7 +143,7 @@ use_mountprog(const char *vfstype)
        unsigned int i;
        const char *fs[] = {
        "cd9660", "mfs", "msdosfs", "nfs",
-       "nullfs", "oldnfs", "udf", "unionfs",
+       "nullfs", "oldnfs", "smbfs", "udf", "unionfs",
        NULL
        };
 

Modified: head/share/examples/Makefile
==============================================================================
--- head/share/examples/Makefile        Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/share/examples/Makefile        Fri Jun 28 21:00:08 2013        
(r252356)
@@ -240,6 +240,7 @@ etc-examples:
 .endif
 
 .if ${SHARED} != "symlinks"
+SUBDIR=        smbfs
 .if ${MK_ATF} != "no"
 SUBDIR+=atf
 .endif

Modified: head/share/examples/etc/README.examples
==============================================================================
--- head/share/examples/etc/README.examples     Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/share/examples/etc/README.examples     Fri Jun 28 21:00:08 2013        
(r252356)
@@ -40,6 +40,7 @@ netstart      - network startup script run fr
 network.subr   - routines for network configuration scripts
 networks       - see networks(5)
 newsyslog.conf - configuration for system log file rotator newsyslog(8)
+nsmb.conf      - smbfs lookups configuration file
 opieaccess     - OPIE database of trusted networks
 pf.conf                - pf(4) example configuration file
 pf.os          - SYN fingerprint database

Modified: head/share/mk/bsd.libnames.mk
==============================================================================
--- head/share/mk/bsd.libnames.mk       Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/share/mk/bsd.libnames.mk       Fri Jun 28 21:00:08 2013        
(r252356)
@@ -149,6 +149,7 @@ LIBRT?=             ${DESTDIR}${LIBDIR}/librt.a
 LIBRTLD_DB?=   ${DESTDIR}${LIBDIR}/librtld_db.a
 LIBSBUF?=      ${DESTDIR}${LIBDIR}/libsbuf.a
 LIBSDP?=       ${DESTDIR}${LIBDIR}/libsdp.a
+LIBSMB?=       ${DESTDIR}${LIBDIR}/libsmb.a
 LIBSSH?=       ${DESTDIR}${LIBDIR}/libssh.a
 LIBSSL?=       ${DESTDIR}${LIBDIR}/libssl.a
 LIBSTAND?=     ${DESTDIR}${LIBDIR}/libstand.a

Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/NOTES Fri Jun 28 21:00:08 2013        (r252356)
@@ -602,6 +602,12 @@ options    IPX                     #IPX/SPX communications 
p
 options        NETATALK                #Appletalk communications protocols
 options        NETATALKDEBUG           #Appletalk debugging
 
+#
+# SMB/CIFS requester
+# NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV
+# options.
+options        NETSMB                  #SMB/CIFS requester
+
 # mchain library. It can be either loaded as KLD or compiled into kernel
 options        LIBMCHAIN
 
@@ -1038,6 +1044,7 @@ options   NULLFS                  #NULL filesystem
 options        PROCFS                  #Process filesystem (requires PSEUDOFS)
 options        PSEUDOFS                #Pseudo-filesystem framework
 options        PSEUDOFS_TRACE          #Debugging support for PSEUDOFS
+options        SMBFS                   #SMB/CIFS filesystem
 options        TMPFS                   #Efficient memory filesystem
 options        UDF                     #Universal Disk Format
 options        UNIONFS                 #Union filesystem

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files Fri Jun 28 21:00:08 2013        (r252356)
@@ -536,8 +536,8 @@ crypto/blowfish/bf_ecb.c    optional ipsec
 crypto/blowfish/bf_skey.c      optional crypto | ipsec
 crypto/camellia/camellia.c     optional crypto | ipsec
 crypto/camellia/camellia-api.c optional crypto | ipsec
-crypto/des/des_ecb.c           optional crypto | ipsec
-crypto/des/des_setkey.c                optional crypto | ipsec
+crypto/des/des_ecb.c           optional crypto | ipsec | netsmb
+crypto/des/des_setkey.c                optional crypto | ipsec | netsmb
 crypto/rc4/rc4.c               optional netgraph_mppc_encryption | kgssapi
 crypto/rijndael/rijndael-alg-fst.c optional crypto | geom_bde | \
                                         ipsec | random | wlan_ccmp
@@ -2509,6 +2509,12 @@ fs/pseudofs/pseudofs.c           optional pseudof
 fs/pseudofs/pseudofs_fileno.c  optional pseudofs
 fs/pseudofs/pseudofs_vncache.c optional pseudofs
 fs/pseudofs/pseudofs_vnops.c   optional pseudofs
+fs/smbfs/smbfs_io.c            optional smbfs
+fs/smbfs/smbfs_node.c          optional smbfs
+fs/smbfs/smbfs_smb.c           optional smbfs
+fs/smbfs/smbfs_subr.c          optional smbfs
+fs/smbfs/smbfs_vfsops.c                optional smbfs
+fs/smbfs/smbfs_vnops.c         optional smbfs
 fs/udf/osta.c                  optional udf
 fs/udf/udf_iconv.c             optional udf_iconv
 fs/udf/udf_vfsops.c            optional udf
@@ -2746,6 +2752,7 @@ kern/kern_uuid.c          standard
 kern/kern_xxx.c                        standard
 kern/link_elf.c                        standard
 kern/linker_if.m               standard
+kern/md4c.c                    optional netsmb
 kern/md5c.c                    standard
 kern/p1003_1b.c                        standard
 kern/posix4_mib.c              standard
@@ -3279,6 +3286,15 @@ netpfil/pf/pf_osfp.c             optional pf inet
 netpfil/pf/pf_ruleset.c                optional pf inet
 netpfil/pf/pf_table.c          optional pf inet
 netpfil/pf/in4_cksum.c         optional pf inet
+netsmb/smb_conn.c              optional netsmb
+netsmb/smb_crypt.c             optional netsmb
+netsmb/smb_dev.c               optional netsmb
+netsmb/smb_iod.c               optional netsmb
+netsmb/smb_rq.c                        optional netsmb
+netsmb/smb_smb.c               optional netsmb
+netsmb/smb_subr.c              optional netsmb
+netsmb/smb_trantcp.c           optional netsmb
+netsmb/smb_usr.c               optional netsmb
 nfs/bootp_subr.c               optional bootp nfsclient | bootp nfscl
 nfs/krpc_subr.c                        optional bootp nfsclient | bootp nfscl
 nfs/nfs_common.c               optional nfsclient | nfsserver

Modified: head/sys/conf/files.amd64
==============================================================================
--- head/sys/conf/files.amd64   Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.amd64   Fri Jun 28 21:00:08 2013        (r252356)
@@ -136,7 +136,7 @@ crypto/aesni/aeskeys_amd64.S        optional ae
 crypto/aesni/aesni.c           optional aesni
 crypto/aesni/aesni_wrap.c      optional aesni
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec
-crypto/des/des_enc.c           optional        crypto | ipsec
+crypto/des/des_enc.c           optional        crypto | ipsec | netsmb
 crypto/via/padlock.c           optional        padlock
 crypto/via/padlock_cipher.c    optional        padlock
 crypto/via/padlock_hash.c      optional        padlock

Modified: head/sys/conf/files.arm
==============================================================================
--- head/sys/conf/files.arm     Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.arm     Fri Jun 28 21:00:08 2013        (r252356)
@@ -61,7 +61,7 @@ board_id.h                    standard                        
           \
        clean           "board_id.h"
 cddl/compat/opensolaris/kern/opensolaris_atomic.c      optional zfs 
compile-with "${ZFS_C}"
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec 
-crypto/des/des_enc.c           optional        crypto | ipsec
+crypto/des/des_enc.c           optional        crypto | ipsec | netsmb
 dev/fb/fb.c                    optional        sc
 dev/hwpmc/hwpmc_arm.c          optional        hwpmc
 dev/kbd/kbd.c                  optional        sc

Modified: head/sys/conf/files.i386
==============================================================================
--- head/sys/conf/files.i386    Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.i386    Fri Jun 28 21:00:08 2013        (r252356)
@@ -122,7 +122,7 @@ crypto/aesni/aesencdec_i386.S       optional a
 crypto/aesni/aeskeys_i386.S    optional aesni
 crypto/aesni/aesni.c           optional aesni
 crypto/aesni/aesni_wrap.c      optional aesni
-crypto/des/arch/i386/des_enc.S optional crypto | ipsec
+crypto/des/arch/i386/des_enc.S optional crypto | ipsec | netsmb
 crypto/via/padlock.c           optional padlock
 crypto/via/padlock_cipher.c    optional padlock
 crypto/via/padlock_hash.c      optional padlock

Modified: head/sys/conf/files.ia64
==============================================================================
--- head/sys/conf/files.ia64    Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.ia64    Fri Jun 28 21:00:08 2013        (r252356)
@@ -41,7 +41,7 @@ contrib/ia64/libuwx/src/uwx_trace.c           sta
 contrib/ia64/libuwx/src/uwx_uinfo.c            standard
 contrib/ia64/libuwx/src/uwx_utable.c           standard
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec
-crypto/des/des_enc.c           optional        crypto | ipsec
+crypto/des/des_enc.c           optional        crypto | ipsec | netsmb
 dev/atkbdc/atkbd.c             optional        atkbd atkbdc
 dev/atkbdc/atkbd_atkbdc.c      optional        atkbd atkbdc
 dev/atkbdc/atkbdc.c            optional        atkbdc

Modified: head/sys/conf/files.mips
==============================================================================
--- head/sys/conf/files.mips    Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.mips    Fri Jun 28 21:00:08 2013        (r252356)
@@ -77,7 +77,7 @@ dev/uart/uart_cpu_fdt.c                       optional        
uart 
 
 # crypto support -- use generic
 crypto/blowfish/bf_enc.c               optional        crypto | ipsec 
-crypto/des/des_enc.c                   optional        crypto | ipsec
+crypto/des/des_enc.c                   optional        crypto | ipsec | netsmb
 
 # AP common nvram interface MIPS specific, but maybe should be more generic
 dev/nvram2env/nvram2env.c              optional        nvram2env

Modified: head/sys/conf/files.pc98
==============================================================================
--- head/sys/conf/files.pc98    Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.pc98    Fri Jun 28 21:00:08 2013        (r252356)
@@ -77,7 +77,7 @@ bf_enc.o                      optional crypto | ipsec \
        dependency      "$S/crypto/blowfish/arch/i386/bf_enc.S 
$S/crypto/blowfish/arch/i386/bf_enc_586.S 
$S/crypto/blowfish/arch/i386/bf_enc_686.S" \
        compile-with    "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} 
${WERROR} ${.IMPSRC}" \
        no-implicit-rule
-crypto/des/arch/i386/des_enc.S optional crypto | ipsec
+crypto/des/arch/i386/des_enc.S optional crypto | ipsec | netsmb
 dev/agp/agp_ali.c              optional agp
 dev/agp/agp_amd.c              optional agp
 dev/agp/agp_i810.c             optional agp

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.powerpc Fri Jun 28 21:00:08 2013        (r252356)
@@ -18,7 +18,7 @@ font.h                                optional        sc      
                \
 cddl/compat/opensolaris/kern/opensolaris_atomic.c                      
optional zfs powerpc compile-with "${ZFS_C}"
 cddl/contrib/opensolaris/common/atomic/powerpc64/opensolaris_atomic.S  
optional zfs powerpc64 compile-with "${ZFS_S}"
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec
-crypto/des/des_enc.c           optional        crypto | ipsec
+crypto/des/des_enc.c           optional        crypto | ipsec | netsmb
 dev/bm/if_bm.c                 optional        bm powermac
 dev/adb/adb_bus.c              optional        adb
 dev/adb/adb_kbd.c              optional        adb

Modified: head/sys/conf/files.sparc64
==============================================================================
--- head/sys/conf/files.sparc64 Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/files.sparc64 Fri Jun 28 21:00:08 2013        (r252356)
@@ -24,7 +24,7 @@ ukbdmap.h                     optional        
ukbd_dflt_keymap        \
 #
 cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S    
optional zfs compile-with "${ZFS_S}"
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec
-crypto/des/des_enc.c           optional        crypto | ipsec
+crypto/des/des_enc.c           optional        crypto | ipsec | netsmb
 dev/atkbdc/atkbd.c             optional        atkbd atkbdc
 dev/atkbdc/atkbd_atkbdc.c      optional        atkbd atkbdc
 dev/atkbdc/atkbdc.c            optional        atkbdc

Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options       Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/conf/options       Fri Jun 28 21:00:08 2013        (r252356)
@@ -222,6 +222,7 @@ NULLFS              opt_dontuse.h
 PROCFS         opt_dontuse.h
 PSEUDOFS       opt_dontuse.h
 REISERFS       opt_dontuse.h
+SMBFS          opt_dontuse.h
 TMPFS          opt_dontuse.h
 UDF            opt_dontuse.h
 UNIONFS                opt_dontuse.h
@@ -287,6 +288,9 @@ UFS_GJOURNAL        opt_ufs.h
 # they won't make any difference yet).
 NFS_ROOT       opt_nfsroot.h
 
+# SMB/CIFS requester
+NETSMB         opt_netsmb.h
+
 # Options used only in subr_param.c.
 HZ             opt_param.h
 MAXFILES       opt_param.h

Modified: head/sys/kern/Make.tags.inc
==============================================================================
--- head/sys/kern/Make.tags.inc Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/kern/Make.tags.inc Fri Jun 28 21:00:08 2013        (r252356)
@@ -30,6 +30,7 @@ COMM= ${SYS}/dev/advansys/*.[ch] \
        ${SYS}/fs/msdosfs/*.[ch] \
        ${SYS}/fs/nullfs/*.[ch] \
        ${SYS}/fs/procfs/*.[ch] \
+       ${SYS}/fs/smbfs/*.[ch] \
        ${SYS}/fs/udf/*.[ch] \
        ${SYS}/fs/unionfs/*.[ch] \
        ${SYS}/geom/*.[ch] \

Modified: head/sys/kern/sys_generic.c
==============================================================================
--- head/sys/kern/sys_generic.c Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/kern/sys_generic.c Fri Jun 28 21:00:08 2013        (r252356)
@@ -1498,6 +1498,61 @@ sys_openbsd_poll(td, uap)
 }
 
 /*
+ * XXX This was created specifically to support netncp and netsmb.  This
+ * allows the caller to specify a socket to wait for events on.  It returns
+ * 0 if any events matched and an error otherwise.  There is no way to
+ * determine which events fired.
+ */
+int
+selsocket(struct socket *so, int events, struct timeval *tvp, struct thread 
*td)
+{
+       struct timeval rtv;
+       sbintime_t asbt, precision, rsbt;
+       int error;
+
+       if (tvp != NULL) {
+               rtv = *tvp;
+               if (rtv.tv_sec < 0 || rtv.tv_usec < 0 || 
+                   rtv.tv_usec >= 1000000)
+                       return (EINVAL);
+               if (!timevalisset(&rtv))
+                       asbt = 0;
+               else if (rtv.tv_sec <= INT32_MAX) {
+                       rsbt = tvtosbt(rtv);
+                       precision = rsbt;
+                       precision >>= tc_precexp;
+                       if (TIMESEL(&asbt, rsbt))
+                               asbt += tc_tick_sbt;
+                       if (asbt <= INT64_MAX - rsbt)
+                               asbt += rsbt;
+                       else
+                               asbt = -1;
+               } else
+                       asbt = -1;
+       } else
+               asbt = -1;
+       seltdinit(td);
+       /*
+        * Iterate until the timeout expires or the socket becomes ready.
+        */
+       for (;;) {
+               selfdalloc(td, NULL);
+               error = sopoll(so, events, NULL, td);
+               /* error here is actually the ready events. */
+               if (error)
+                       return (0);
+               error = seltdwait(td, asbt, precision);
+               if (error)
+                       break;
+       }
+       seltdclear(td);
+       /* XXX Duplicates ncp/smb behavior. */
+       if (error == ERESTART)
+               error = 0;
+       return (error);
+}
+
+/*
  * Preallocate two selfds associated with 'cookie'.  Some fo_poll routines
  * have two select sets, one for read and another for write.
  */

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/modules/Makefile   Fri Jun 28 21:00:08 2013        (r252356)
@@ -301,6 +301,7 @@ SUBDIR=     \
        siis \
        sis \
        sk \
+       ${_smbfs} \
        ${_sn} \
        ${_snc} \
        snp \
@@ -520,6 +521,7 @@ _rdma=              rdma
 _safe=         safe
 _sbni=         sbni
 _scsi_low=     scsi_low
+_smbfs=                smbfs
 _sound=                sound
 _speaker=      speaker
 _splash=       splash
@@ -722,6 +724,7 @@ _s3=                s3
 _safe=         safe
 _scsi_low=     scsi_low
 _sfxge=                sfxge
+_smbfs=                smbfs
 _sound=                sound
 _speaker=      speaker
 _splash=       splash
@@ -779,6 +782,7 @@ _ips=               ips
 _mly=          mly
 _pccard=       pccard
 _scsi_low=     scsi_low
+_smbfs=                smbfs
 _sound=                sound
 _splash=       splash
 _sppp=         sppp
@@ -801,6 +805,7 @@ _drm=               drm
 _exca=         exca
 _nvram=                powermac_nvram
 _pccard=       pccard
+_smbfs=                smbfs
 _sound=                sound
 _cyclic=       cyclic
 _dtrace=       dtrace
@@ -827,6 +832,7 @@ _igb=               igb
 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
 _opensolaris=  opensolaris
 .endif
+_smbfs=                smbfs
 _sound=                sound
 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
 _zfs=          zfs

Modified: head/sys/sys/socketvar.h
==============================================================================
--- head/sys/sys/socketvar.h    Fri Jun 28 20:32:48 2013        (r252355)
+++ head/sys/sys/socketvar.h    Fri Jun 28 21:00:08 2013        (r252356)
@@ -371,6 +371,8 @@ void        soupcall_clear(struct socket *so, i
 void   soupcall_set(struct socket *so, int which,
            int (*func)(struct socket *, void *, int), void *arg);
 void   sowakeup(struct socket *so, struct sockbuf *sb);
+int    selsocket(struct socket *so, int events, struct timeval *tv,
+           struct thread *td);
 
 /*
  * Accept filter functions (duh).

Modified: head/usr.bin/Makefile.amd64
==============================================================================
--- head/usr.bin/Makefile.amd64 Fri Jun 28 20:32:48 2013        (r252355)
+++ head/usr.bin/Makefile.amd64 Fri Jun 28 21:00:08 2013        (r252356)
@@ -1,2 +1,3 @@
 # $FreeBSD$
 
+SUBDIR+=       smbutil

Modified: head/usr.bin/Makefile.i386
==============================================================================
--- head/usr.bin/Makefile.i386  Fri Jun 28 20:32:48 2013        (r252355)
+++ head/usr.bin/Makefile.i386  Fri Jun 28 21:00:08 2013        (r252356)
@@ -1,2 +1,3 @@
 # $FreeBSD$
 
+SUBDIR+=       smbutil

Modified: head/usr.bin/Makefile.ia64
==============================================================================
--- head/usr.bin/Makefile.ia64  Fri Jun 28 20:32:48 2013        (r252355)
+++ head/usr.bin/Makefile.ia64  Fri Jun 28 21:00:08 2013        (r252356)
@@ -1,2 +1,3 @@
 # $FreeBSD$
 
+SUBDIR+=       smbutil

Modified: head/usr.bin/Makefile.powerpc
==============================================================================
--- head/usr.bin/Makefile.powerpc       Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/usr.bin/Makefile.powerpc       Fri Jun 28 21:00:08 2013        
(r252356)
@@ -1,2 +1,3 @@
 # $FreeBSD$
 
+SUBDIR+=       smbutil

Modified: head/usr.bin/Makefile.sparc64
==============================================================================
--- head/usr.bin/Makefile.sparc64       Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/usr.bin/Makefile.sparc64       Fri Jun 28 21:00:08 2013        
(r252356)
@@ -1,2 +1,3 @@
 # $FreeBSD$
 
+SUBDIR+=       smbutil

Modified: head/usr.bin/kdump/kdump.c
==============================================================================
--- head/usr.bin/kdump/kdump.c  Fri Jun 28 20:32:48 2013        (r252355)
+++ head/usr.bin/kdump/kdump.c  Fri Jun 28 21:00:08 2013        (r252356)
@@ -1482,6 +1482,8 @@ ktrsockaddr(struct sockaddr *sa)
  TODO: Support additional address families
        #include <netnatm/natm.h>
        struct sockaddr_natm    *natm;
+       #include <netsmb/netbios.h>
+       struct sockaddr_nb      *nb;
 */
        char addr[64];
 

Modified: head/usr.sbin/Makefile.amd64
==============================================================================
--- head/usr.sbin/Makefile.amd64        Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/usr.sbin/Makefile.amd64        Fri Jun 28 21:00:08 2013        
(r252356)
@@ -20,6 +20,7 @@ SUBDIR+=      btxld
 SUBDIR+=       cpucontrol
 SUBDIR+=       kgmon
 SUBDIR+=       lptcontrol
+SUBDIR+=       mount_smbfs
 SUBDIR+=       mptable
 .if ${MK_NDIS} != "no"
 SUBDIR+=       ndiscvt

Modified: head/usr.sbin/Makefile.i386
==============================================================================
--- head/usr.sbin/Makefile.i386 Fri Jun 28 20:32:48 2013        (r252355)
+++ head/usr.sbin/Makefile.i386 Fri Jun 28 21:00:08 2013        (r252356)
@@ -12,6 +12,7 @@ SUBDIR+=      cpucontrol
 SUBDIR+=       kgmon
 SUBDIR+=       kgzip
 SUBDIR+=       lptcontrol
+SUBDIR+=       mount_smbfs
 SUBDIR+=       mptable
 .if ${MK_NDIS} != "no"
 SUBDIR+=       ndiscvt

Modified: head/usr.sbin/Makefile.ia64
==============================================================================
--- head/usr.sbin/Makefile.ia64 Fri Jun 28 20:32:48 2013        (r252355)
+++ head/usr.sbin/Makefile.ia64 Fri Jun 28 21:00:08 2013        (r252356)
@@ -4,5 +4,6 @@
 SUBDIR+=       acpi
 .endif
 SUBDIR+=       kgmon
+SUBDIR+=       mount_smbfs
 SUBDIR:=       ${SUBDIR:Nuathload}
 SUBDIR+=       zzz

Modified: head/usr.sbin/Makefile.powerpc
==============================================================================
--- head/usr.sbin/Makefile.powerpc      Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/usr.sbin/Makefile.powerpc      Fri Jun 28 21:00:08 2013        
(r252356)
@@ -1,4 +1,5 @@
 # $FreeBSD$
 
+SUBDIR+=       mount_smbfs
 SUBDIR+=       nvram
 SUBDIR+=       ofwdump

Modified: head/usr.sbin/Makefile.sparc64
==============================================================================
--- head/usr.sbin/Makefile.sparc64      Fri Jun 28 20:32:48 2013        
(r252355)
+++ head/usr.sbin/Makefile.sparc64      Fri Jun 28 21:00:08 2013        
(r252356)
@@ -1,4 +1,5 @@
 # $FreeBSD$
 
 SUBDIR+=       eeprom
+SUBDIR+=       mount_smbfs
 SUBDIR+=       ofwdump
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to