summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/Makefile2
-rw-r--r--etc/nsmb.conf55
-rw-r--r--include/Makefile7
-rw-r--r--lib/Makefile2
-rw-r--r--lib/libsmb/Makefile19
-rw-r--r--sbin/Makefile1
-rw-r--r--sbin/mount_smbfs/Makefile23
-rw-r--r--usr.bin/Makefile1
-rw-r--r--usr.bin/smbutil/Makefile14
-rw-r--r--usr.sbin/mount_smbfs/Makefile23
10 files changed, 145 insertions, 2 deletions
diff --git a/etc/Makefile b/etc/Makefile
index c693a1a..6787fd9 100644
--- a/etc/Makefile
+++ b/etc/Makefile
@@ -10,7 +10,7 @@ BIN1= amd.map apmd.conf auth.conf \
dhclient.conf dm.conf fbtab ftpusers gettytab group \
hosts hosts.allow hosts.equiv hosts.lpd \
inetd.conf login.access login.conf \
- motd modems netconfig networks newsyslog.conf \
+ motd modems netconfig networks newsyslog.conf nsmb.conf \
phones printcap profile protocols \
rc rc.atm rc.devfs rc.diskless1 rc.diskless2 rc.firewall rc.firewall6 \
rc.network rc.network6 rc.pccard rc.serial rc.shutdown \
diff --git a/etc/nsmb.conf b/etc/nsmb.conf
new file mode 100644
index 0000000..9bf26f3
--- /dev/null
+++ b/etc/nsmb.conf
@@ -0,0 +1,55 @@
+# $FreeBSD$
+#
+# smbfs lookups configuration files in next order:
+# 1. ~/.nsmbrc
+# 2. /usr/local/etc/nsmb.conf - if this file found it will
+# override values with same keys from user files.
+#
+#
+# This file consist from a set of sections. Each section started by section name
+# surrounded with square brackets:
+# [section_name]
+#
+# End of the section marked either by new section or by the end of file.
+# Each section can contain zero or more parameters:
+# [section_name]
+# key=value
+#
+# where 'key' represents parameter name and 'value' a value assigned
+# to this parameter.
+#
+# SMB library uses next forms of section names:
+# A) [default]
+# B) [SERVER]
+# C) [SERVER:USER]
+# D) [SERVER:USER:SHARE]
+#
+# Here is the map of possible keywords:
+#
+# keyword/section A B C D Comment
+#
+# addr - + - - IP or IPX address of SMB server
+# charsets - + + + local:remote charset pair
+# nbns + + - - address of NetBIOS name server (WINS)
+# nbscope + + - - NetBIOS scope
+# nbtimeout + + - - timeout for NetBIOS name servers
+# password - - + + a plain text password used to access to the given share
+# retry_count + + - - number of retries before connection marked as broken
+# timeout + + - - SMB request timeout
+# workgroup + + + + name of workgroup
+#
+
+# A simple configuration example:
+
+# First, define a workgroup.
+#[default]
+#workgroup=SALES
+
+# The 'FSERVER' is an NT server.
+#[FSERVER]
+#charsets=koi8-r:cp866
+#addr=fserv.coolcorp.com
+
+[FSERVER:JOE]
+# use persistent password cache for user 'joe'
+#password=$$1767877DF
diff --git a/include/Makefile b/include/Makefile
index 3d7b146..01dfc00 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -26,6 +26,8 @@ ARPAFILES= ftp.h inet.h nameser.h nameser_compat.h telnet.h tftp.h
PROTOFILES= dumprestore.h routed.h rwhod.h talkd.h timed.h
+NETSMBFILES= nb_lib.h smb_lib.h smb_rap.h
+
MFILES= float.h floatingpoint.h stdarg.h varargs.h
# posix4/aio.h conflicts with dysons and isn't installed:
@@ -116,6 +118,11 @@ copies:
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
${DESTDIR}/usr/include/netinet
.endif
+.if exists(${.CURDIR}/../sys/contrib/netsmb/include/netsmb)
+ cd ${.CURDIR}/../sys/contrib/netsmb/include/netsmb; \
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${NETSMBFILES} \
+ ${DESTDIR}/usr/include/netsmb
+.endif
.if exists(${.CURDIR}/../sys/security/lomac)
cd ${.CURDIR}/../sys/security/lomac; \
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 lomac.h \
diff --git a/lib/Makefile b/lib/Makefile
index ca8ad9a..23066c5 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -27,7 +27,7 @@ SUBDIR= ${_csu} libcom_err libcrypt libkvm msun libmd \
libedit libfetch libform libftpio ${_libgnumalloc} ${_libio} libipsec \
libipx libisc libmenu ${_libmp} ${_libncp} \
libnetgraph libopie libpam libpanel libpcap \
- ${_libresolv} ${_libsmdb} ${_libsmutil} \
+ ${_libresolv} libsmb ${_libsmdb} ${_libsmutil} \
libstand ${_libtelnet} libusb ${_libvgl} libwrap libxpg4 liby libz
.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-${OBJFORMAT})
diff --git a/lib/libsmb/Makefile b/lib/libsmb/Makefile
new file mode 100644
index 0000000..f13595c
--- /dev/null
+++ b/lib/libsmb/Makefile
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+LIB= smb
+
+SHLIB_MAJOR= 1
+SHLIB_MINOR= 0
+
+NOMAN=
+
+SRCS= rcfile.c ctx.c cfopt.c subr.c nls.c rap.c mbuf.c rq.c file.c \
+ print.c \
+ kiconv.c \
+ nb.c nb_name.c nb_net.c nbns_rq.c
+CONTRIBDIR= ${.CURDIR}/../../contrib/smbfs
+CFLAGS+= -I${CONTRIBDIR}/include
+
+.PATH: ${CONTRIBDIR}/lib/smb
+
+.include <bsd.lib.mk>
diff --git a/sbin/Makefile b/sbin/Makefile
index 7fd49dd..16c31c0 100644
--- a/sbin/Makefile
+++ b/sbin/Makefile
@@ -53,6 +53,7 @@ SUBDIR= adjkerntz \
mount_ntfs \
mount_nullfs \
mount_portalfs \
+ mount_smbfs \
mount_std \
mount_umapfs \
mount_unionfs \
diff --git a/sbin/mount_smbfs/Makefile b/sbin/mount_smbfs/Makefile
new file mode 100644
index 0000000..01252fe
--- /dev/null
+++ b/sbin/mount_smbfs/Makefile
@@ -0,0 +1,23 @@
+# $FreeBSD$
+
+PROG= mount_smbfs
+SRCS= mount_smbfs.c getmntopts.c
+WARNS?= 2
+NO_WERROR= yes
+MAN= mount_smbfs.8
+
+MOUNTDIR= ${.CURDIR}/../mount
+CONTRIBDIR= ${.CURDIR}/../../contrib/smbfs
+CFLAGS+= -DSMBFS -I${MOUNTDIR} -I${CONTRIBDIR}/include
+
+LDADD+= -lsmb
+DPADD+= ${LIBSMB}
+
+# Needs to be dynamically linked for optional dlopen() access to
+# userland libiconv (see the -E option).
+#
+NOSHARED?= NO
+
+.PATH: ${CONTRIBDIR}/mount_smbfs
+
+.include <bsd.prog.mk>
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index c003525..1498784 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -134,6 +134,7 @@ SUBDIR= apply \
sed \
shar \
showmount \
+ smbutil \
sockstat \
soelim \
split \
diff --git a/usr.bin/smbutil/Makefile b/usr.bin/smbutil/Makefile
new file mode 100644
index 0000000..8db8db7
--- /dev/null
+++ b/usr.bin/smbutil/Makefile
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+PROG= smbutil
+SRCS= smbutil.c dumptree.c login.c lookup.c view.c print.c
+
+DPADD= ${LIBSMB}
+LDADD= -lsmb
+
+CONTRIBDIR= ${.CURDIR}/../../contrib/smbfs
+CFLAGS+= -I${CONTRIBDIR}/include
+
+.PATH: ${CONTRIBDIR}/smbutil
+
+.include <bsd.prog.mk>
diff --git a/usr.sbin/mount_smbfs/Makefile b/usr.sbin/mount_smbfs/Makefile
new file mode 100644
index 0000000..01252fe
--- /dev/null
+++ b/usr.sbin/mount_smbfs/Makefile
@@ -0,0 +1,23 @@
+# $FreeBSD$
+
+PROG= mount_smbfs
+SRCS= mount_smbfs.c getmntopts.c
+WARNS?= 2
+NO_WERROR= yes
+MAN= mount_smbfs.8
+
+MOUNTDIR= ${.CURDIR}/../mount
+CONTRIBDIR= ${.CURDIR}/../../contrib/smbfs
+CFLAGS+= -DSMBFS -I${MOUNTDIR} -I${CONTRIBDIR}/include
+
+LDADD+= -lsmb
+DPADD+= ${LIBSMB}
+
+# Needs to be dynamically linked for optional dlopen() access to
+# userland libiconv (see the -E option).
+#
+NOSHARED?= NO
+
+.PATH: ${CONTRIBDIR}/mount_smbfs
+
+.include <bsd.prog.mk>
OpenPOWER on IntegriCloud