janitor duty (merges from 3.0) and cleanup compiler warning on SuSE 9 in the end...
authorGerald Carter <jerry@samba.org>
Mon, 2 Feb 2004 01:46:30 +0000 (01:46 +0000)
committerGerald Carter <jerry@samba.org>
Mon, 2 Feb 2004 01:46:30 +0000 (01:46 +0000)
(This used to be commit 902d4a647a88d1def09d5b1eacb06ab1561f3dec)

15 files changed:
examples/misc/modify_samba_config.pl
packaging/Fedora/makerpms.sh.tmpl
packaging/Fedora/samba.pamd
packaging/Fedora/samba.spec.tmpl
packaging/Fedora/smb.conf [new file with mode: 0644]
packaging/Fedora/smb.init
packaging/Fedora/smbusers [new file with mode: 0644]
packaging/Fedora/winbind.init
packaging/RedHat/samba.spec.tmpl
packaging/SuSE/samba3.spec
source3/groupdb/mapping.c
source3/nsswitch/winbind_nss_linux.c
source3/nsswitch/winbindd_group.c
source3/rpc_parse/parse_epmapper.c
swat/lang/ja/help/welcome.html

index eb997f9b0c87097bfe0da35a3cecf8d3e136a591..ad958625d66481042819cf8412e46b47fec5f839 100755 (executable)
@@ -66,7 +66,7 @@ while (<CONFIGFILE>) {
        
        ## check for a param = value
        if ($_ =~ /=/) {
        
        ## check for a param = value
        if ($_ =~ /=/) {
-               ($param, $value) = split (/=/, $_);
+               ($param, $value) = split (/=/, $_,2);
                $param =~ s/./\l$&/g;
                $param =~ s/\s+//g;
                $value =~ s/^\s+//;
                $param =~ s/./\l$&/g;
                $param =~ s/\s+//g;
                $value =~ s/^\s+//;
index 46ef4b63537b663e0ee93e2ceebf493744fceb91..361d8418761b7a3d5641e291c7ffb6e2cef0f824 100644 (file)
@@ -46,7 +46,8 @@ esac
 ##
 for file in samba.pamd samba.sysconfig samba.spec \
        smb.init swat.desktop filter-requires-samba.sh \
 ##
 for file in samba.pamd samba.sysconfig samba.spec \
        smb.init swat.desktop filter-requires-samba.sh \
-       samba.log samba.xinetd smbprint winbind.init
+       samba.log samba.xinetd smbprint winbind.init \
+       smb.conf smbusers
 do
        cp -p $file ${SRCDIR}
 
 do
        cp -p $file ${SRCDIR}
 
index d8a27ff08f95ed0afd252b88915dde461d4e6f61..f88aae628c20fb49deee5735ebf9ffb6e6bd1ce5 100644 (file)
@@ -1,2 +1,4 @@
-auth   required        /lib/security/pam_stack.so service=system-auth
-account        required        /lib/security/pam_stack.so service=system-auth
+auth    required       /lib/security/pam_stack.so service=system-auth
+session  required      /lib/security/pam_stack.so service=system-auth
+account         required       /lib/security/pam_stack.so service=system-auth
+password required      /lib/security/pam_stack.so service=system-auth
index 51e68dfea2d41b9c9cea903f01612fc1f3192fad..ae6f95c9005063d28c5bedf064386700e35d54ae 100644 (file)
@@ -12,14 +12,15 @@ URL: http://www.samba.org/
 Source: ftp://www.samba.org/pub/samba/%{name}-%{version}.tar.bz2
 
 # Red Hat specific replacement-files
 Source: ftp://www.samba.org/pub/samba/%{name}-%{version}.tar.bz2
 
 # Red Hat specific replacement-files
-Source1: samba.log
-Source2: samba.xinetd
-Source3: swat.desktop
-Source4: samba.sysconfig
-Source5: smb.init
-Source6: samba.pamd
-Source7: smbprint
-Source8: winbind.init
+Source1:  samba.log
+Source2:  samba.xinetd
+Source4:  samba.sysconfig
+Source5:  smb.init
+Source6:  winbind.init
+Source7:  samba.pamd
+Source8:  smbprint
+Source9:  smbusers
+Source10: smb.conf
 
 # Don't depend on Net::LDAP
 Source999: filter-requires-samba.sh
 
 # Don't depend on Net::LDAP
 Source999: filter-requires-samba.sh
@@ -144,20 +145,26 @@ make DESTDIR=$RPM_BUILD_ROOT \
 cd ..
 
 # Install other stuff
 cd ..
 
 # Install other stuff
-install -m644 packaging/RedHat/smb.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
+install -m644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
+install -m644 %{SOURCE8} $RPM_BUILD_ROOT/etc/samba/smbusers
+install -m755 %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}
+install -m644 %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/samba
+install -m644 %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/samba
 install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
 install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
-install -m644 packaging/RedHat/smbusers $RPM_BUILD_ROOT/etc/samba/smbusers
-install -m755 packaging/RedHat/smbprint $RPM_BUILD_ROOT%{_bindir}
-install -m755 packaging/RedHat/smb.init $RPM_BUILD_ROOT%{initdir}/smb
-install -m755 packaging/RedHat/winbind.init $RPM_BUILD_ROOT%{initdir}/winbind
+
+install -m755 %{SOURCE5} $RPM_BUILD_ROOT%{initdir}/smb
+install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{initdir}/winbind
 ln -s ../..%{initdir}/smb  $RPM_BUILD_ROOT%{_sbindir}/samba
 ln -s ../..%{initdir}/smb  $RPM_BUILD_ROOT%{_sbindir}/samba
-install -m644 packaging/RedHat/samba.pamd.stack $RPM_BUILD_ROOT/etc/pam.d/samba
-install -m644 $RPM_SOURCE_DIR/samba.log $RPM_BUILD_ROOT/etc/logrotate.d/samba
+ln -s ../..%{initdir}/winbind  $RPM_BUILD_ROOT%{_sbindir}/winbind
+
 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
-## mount.smbfs is installed by Samba's Makefile
-## ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
+## Samba's Makefile is breaking this currently.  Remove it and set our own
+/bin/rm -f $RPM_BUILD_ROOT/sbin/mount.smbfs
+ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
+
 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
 
 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
 
+
 # pam_smbpass
 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
 mv source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
 # pam_smbpass
 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
 mv source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
@@ -165,11 +172,11 @@ mv source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
 # winbind
 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
 install -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.so
 # winbind
 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
 install -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.so
-mkdir -p $RPM_BUILD_ROOT%{_libdir}
 install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
 install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
-ln -sf /%{_lib}/libnss_winbind.so  $RPM_BUILD_ROOT%{_libdir}/libnss_winbind.so.2
 install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
 install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
-ln -sf /%{_lib}/libnss_wins.so  $RPM_BUILD_ROOT%{_libdir}/libnss_wins.so.2
+( cd $RPM_BUILD_ROOT/%{_lib}; 
+  ln -sf libnss_winbind.so  libnss_winbind.so.2;
+  ln -sf libnss_wins.so  libnss_wins.so.2 )
 
 # libsmbclient
 
 
 # libsmbclient
 
@@ -192,6 +199,7 @@ install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samba
 rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/editreg.1*
 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*
 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*
 rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/editreg.1*
 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*
 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbget.1*
 rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/mount.cifs.8*
 
 %clean
 rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/mount.cifs.8*
 
 %clean
@@ -213,6 +221,13 @@ if [ "$1" -ge "1" ]; then
        %{initdir}/smb condrestart >/dev/null 2>&1
 fi     
 
        %{initdir}/smb condrestart >/dev/null 2>&1
 fi     
 
+
+%post swat
+# Add swat entry to /etc/services if not already there.
+if [ ! "`grep ^\s**swat /etc/services`" ]; then
+        echo 'swat        901/tcp     # Add swat service used via inetd' >> /etc/services
+fi
+
 %post common
 /sbin/chkconfig --add winbind
 /sbin/ldconfig
 %post common
 /sbin/chkconfig --add winbind
 /sbin/ldconfig
@@ -266,7 +281,6 @@ fi
 %{_mandir}/man1/smbstatus.1*
 %{_mandir}/man5/smbpasswd.5*
 %{_mandir}/man7/samba.7*
 %{_mandir}/man1/smbstatus.1*
 %{_mandir}/man5/smbpasswd.5*
 %{_mandir}/man7/samba.7*
-%{_mandir}/man7/Samba.7*
 %{_mandir}/man8/nmbd.8*
 %{_mandir}/man8/pdbedit.8*
 %{_mandir}/man8/smbd.8*
 %{_mandir}/man8/nmbd.8*
 %{_mandir}/man8/pdbedit.8*
 %{_mandir}/man8/smbd.8*
@@ -303,6 +317,8 @@ fi
 %{_bindir}/smbmnt
 %{_bindir}/smbumount
 %{_bindir}/findsmb
 %{_bindir}/smbmnt
 %{_bindir}/smbumount
 %{_bindir}/findsmb
+%{_bindir}/tdbdump
+%{_mandir}/man8/tdbdump.8*
 %{_mandir}/man8/smbmnt.8*
 %{_mandir}/man8/smbmount.8*
 %{_mandir}/man8/smbumount.8*
 %{_mandir}/man8/smbmnt.8*
 %{_mandir}/man8/smbmount.8*
 %{_mandir}/man8/smbumount.8*
@@ -328,8 +344,8 @@ fi
 
 %files common
 %defattr(-,root,root)
 
 %files common
 %defattr(-,root,root)
-/%{_lib}/libnss_wins.so.*
-/%{_lib}/libnss_winbind.so.*
+/%{_lib}/libnss_wins.so*
+/%{_lib}/libnss_winbind.so*
 /%{_lib}/security/pam_winbind.so
 %{_libdir}/libsmbclient.a
 %{_libdir}/libsmbclient.so
 /%{_lib}/security/pam_winbind.so
 %{_libdir}/libsmbclient.a
 %{_libdir}/libsmbclient.so
@@ -347,8 +363,6 @@ fi
 %{_bindir}/smbcquotas
 #%{_bindir}/vfstest
 %{_sbindir}/winbindd
 %{_bindir}/smbcquotas
 #%{_bindir}/vfstest
 %{_sbindir}/winbindd
-%dir /var/cache/samba
-%attr(750,root,root) %dir /var/cache/samba/winbindd_privileged
 %config(noreplace) %{_sysconfdir}/samba/smb.conf
 %config(noreplace) %{_sysconfdir}/samba/lmhosts
 %dir %{_datadir}/samba
 %config(noreplace) %{_sysconfdir}/samba/smb.conf
 %config(noreplace) %{_sysconfdir}/samba/lmhosts
 %dir %{_datadir}/samba
@@ -377,602 +391,8 @@ fi
 #%lang(ja) %{_mandir}/ja/man8/smbpasswd.8*
 
 %changelog
 #%lang(ja) %{_mandir}/ja/man8/smbpasswd.8*
 
 %changelog
-* Thu Sep 25 2003 Jay Fenlason <fenlason@redhat.com> 3.0.0-15
-- New 3.0.0 final release
-- merge nmbd-netbiosname and testparm patches from 3E branch
-- updated the -logfiles patch to work against 3.0.0
-- updated the pie patch
-- update the VERSION file during build
-- use make -j if avaliable
-- merge the winbindd_privileged change from 3E
-- merge the "rm /usr/lib" patch that allows Samba to build on 64-bit
-  platforms despite the broken Makefile
-
-* Mon Aug 18 2003 Jay Fenlason <fenlason@redhat.com>
-- Merge from samba-3E-branch after samba-3.0.0rc1 was released
-
-* Wed Jul 23 2003 Jay Fenlason <fenlason@redhat.com> 3.0.0-3beta3
-- Merge from 3.0.0-2beta3.3E
-- (Correct log file names (#100981).)
-- (Fix pidfile directory in samab.log)
-- (Remove obsolete samba-3.0.0beta2.tar.bz2.md5 file)
-- (Move libsmbclient to the -common package (#99449))
-
-* Tue Jun 22 2003 Nalin Dahyabhai <nalin@redhat.com> 2.2.8a-4
-- rebuild
-
-* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
-- rebuilt
-
-* Wed May 28 2003 Jay Fenlason <fenlason@redhat.com> 2.2.8a-2
-- add libsmbclient.so for gnome-vfs-extras
-- Edit specfile to specify /var/run for pid files
-- Move /tmp/.winbindd/socket to /var/run/winbindd/socket
-
-* Wed May 14 2003 Florian La Roche <Florian.LaRoche@redhat.de>
-- add proper ldconfig calls
-
-* Thu Apr 24 2003 Jay Fenlason <fenlason@redhat.com> 2.2.8a-1
-- upgrade to 2.2.8a
-- remove old .md5 files
-- add "pid directory = /var/run" to the smb.conf file.  Fixes #88495
-- Patch from jra@dp.samba.org to fix a delete-on-close regression
-
-* Mon Mar 24 2003 Jay Fenlason <fenlason@redhat.com> 2.2.8-0
-- Upgrade to 2.2.8
-- removed commented out patches.
-- removed old patches and .md5 files from the repository.
-- remove duplicate /sbin/chkconfig --del winbind which causes
-  warnings when removing samba.
-- Fixed minor bug in smbprint that causes it to fail when called with
-  more than 10 parameters: the accounting file (and spool directory
-  derived from it) were being set wrong due to missing {}.  This closes
-  bug #86473.
-- updated smb.conf patch, includes new defaults to close bug #84822.
-
-* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
-- rebuilt
-
-* Thu Feb 20 2003 Jonathan Blandford <jrb@redhat.com> 2.2.7a-5
-- remove swat.desktop file
-
-* Thu Feb 20 2003 Nalin Dahyabhai <nalin@redhat.com> 2.2.7a-4
-- relink libnss_wins.so with SHLD="%{__cc} -lnsl" to force libnss_wins.so to
-  link with libnsl, avoiding unresolved symbol errors on functions in libnsl
-
-* Mon Feb 10 2003 Jay Fenlason <fenlason@redhat.com> 2.2.7a-3
-- edited spec file to put .so files in the correct directories
-  on 64-bit platforms that have 32-bit compatability issues
-  (sparc64, x86_64, etc).  This fixes bugzilla #83782.
-- Added samba-2.2.7a-error.patch from twaugh.  This fixes
-  bugzilla #82454.
-
-* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
-- rebuilt
-
-* Thu Jan  9 2003 Jay Fenlason <fenlason@redhat.com> 2.2.7a-1
-- Update to 2.2.7a
-- Change default printing system to CUPS
-- Turn on pam_smbpass
-- Turn on msdfs
-
-* Sat Jan  4 2003 Jeff Johnson <jbj@redhat.com> 2.2.7-5
-- use internal dep generator.
-
-* Sat Dec 14 2002 Tim Powers <timp@redhat.com> 2.2.7-4
-- don't use rpms internal dep generator
-
-* Mon Dec 02 2002 Elliot Lee <sopwith@redhat.com> 2.2.7-3
-- Fix missing doc files.
-- Fix multilib issues
-
-* Wed Nov 20 2002 Bill Nottingham <notting@redhat.com> 2.2.7-2
-- update to 2.2.7
-- add patch for LFS in smbclient (<tcallawa@redhat.com>)
-
-* Wed Aug 28 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-10
-- logrotate fixes (#65007)
-
-* Mon Aug 26 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-9
-- /usr/lib was used in place of %%{_libdir} in three locations (#72554)
-
-* Mon Aug  5 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-8
-- Initscript fix (#70720)
-
-* Fri Jul 26 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-7
-- Enable VFS support and compile the "recycling" module (#69796)
-- more selective includes of the examples dir 
-
-* Tue Jul 23 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-6
-- Fix the lpq parser for better handling of LPRng systems (#69352)
-
-* Tue Jul 23 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-5
-- desktop file fixes (#69505)
-
-* Wed Jun 26 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-4
-- Enable ACLs
-
-* Tue Jun 25 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-3
-- Make it not depend on Net::LDAP - those are doc files and examples
-
-* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
-- automated rebuild
-
-* Thu Jun 20 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.5-1
-- 2.2.5
-
-* Fri Jun 14 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.4-5
-- Move the post/preun of winbind into the -common subpackage, 
-  where the script is (#66128)
-
-* Tue Jun  4 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.4-4
-- Fix pidfile locations so it runs properly again (2.2.4 
-  added a new directtive - #65007)
-
-* Thu May 23 2002 Tim Powers <timp@redhat.com>
-- automated rebuild
-
-* Tue May 14 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.4-2
-- Fix #64804
-
-* Thu May  9 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.4-1
-- 2.2.4
-- Removed some zero-length and CVS internal files
-- Make it build
-
-* Wed Apr 10 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.3a-6
-- Don't use /etc/samba.d in smbadduser, it should be /etc/samba
-
-* Thu Apr  4 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.3a-5
-- Add libsmbclient.a w/headerfile for KDE (#62202)
-
-* Tue Mar 26 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.3a-4
-- Make the logrotate script look the correct place for the pid files 
-
-* Thu Mar 14 2002 Nalin Dahyabhai <nalin@redhat.com> 2.2.3a-3
-- include interfaces.o in pam_smbpass.so, which needs symbols from interfaces.o
-  (patch posted to samba-list by Ilia Chipitsine)
-
-* Thu Feb 21 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.3a-2
-- Rebuild
-
-* Thu Feb  7 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.3a-1
-- 2.2.3a
-
-* Mon Feb  4 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.3-1
-- 2.2.3
-
-* Thu Nov 29 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-8
-- New pam configuration file for samba
-
-* Tue Nov 27 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-7
-- Enable PAM session controll and password sync
-
-* Tue Nov 13 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-6
-- Move winbind files to samba-common. Add separate initscript for
-  winbind 
-- Fixes for winbind - protect global variables with mutex, use
-  more secure getenv
-
-* Thu Nov  8 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-5
-- Teach smbadduser about "getent passwd" 
-- Fix more pid-file references
-- Add (conditional) winbindd startup to the initscript, configured in
-  /etc/sysconfig/samba
-
-* Wed Nov  7 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-4
-- Fix pid-file reference in logrotate script
-- include pam and nss modules for winbind
-
-* Mon Nov  5 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-3
-- Add "--with-utmp" to configure options (#55372)
-- Include winbind, pam_smbpass.so, rpcclient and smbcacls
-- start using /var/cache/samba, we need to keep state and there is
-  more than just locks involved
-
-* Sat Nov 03 2001 Florian La Roche <Florian.LaRoche@redhat.de> 2.2.2-2
-- add "reload" to the usage string in the startup script
-
-* Mon Oct 15 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.2-1
-- 2.2.2
-
-* Tue Sep 18 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1a-5
-- Add patch from Jeremy Allison to fix IA64 alignment problems (#51497)
-
-* Mon Aug 13 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Don't include smbpasswd in samba, it's in samba-common (#51598)
-- Add a disabled "obey pam restrictions" statement - it's not
-  active, as we use encrypted passwords, but if the admin turns
-  encrypted passwords off the choice is available. (#31351)
-
-* Wed Aug  8 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Use /var/cache/samba instead of /var/lock/samba 
-- Remove "domain controller" keyword from smb.conf, it's 
-  deprecated (from #13704)
-- Sync some examples with smb.conf.default
-- Fix password synchronization (#16987)
-
-* Fri Jul 20 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Tweaks of BuildRequires (#49581)
-
-* Wed Jul 11 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- 2.2.1a bugfix release
-
-* Tue Jul 10 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- 2.2.1, which should work better for XP
-
-* Sat Jun 23 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- 2.2.0a security fix
-- Mark lograte and pam configuration files as noreplace
-
-* Fri Jun 22 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Add the /etc/samba directory to samba-common
-
-* Thu Jun 21 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- Add improvements to the smb.conf as suggested in #16931
-
-* Tue Jun 19 2001 Trond Eivind Glomsrød <teg@redhat.com>
-  (these changes are from the non-head version)
-- Don't include /usr/sbin/samba, it's the same as the initscript
-- unset TMPDIR, as samba can't write into a TMPDIR owned 
-  by root (#41193)
-- Add pidfile: lines for smbd and nmbd and a config: line
-  in the initscript  (#15343)
-- don't use make -j
-- explicitly include /usr/share/samba, not just the files in it
-
-* Tue Jun 19 2001 Bill Nottingham <notting@redhat.com>
-- mount.smb/mount.smbfs go in /sbin, *not* %%{_sbindir}
-
-* Fri Jun  8 2001 Preston Brown <pbrown@redhat.com>
-- enable encypted passwords by default
-
-* Thu Jun  7 2001 Helge Deller <hdeller@redhat.de> 
-- build as 2.2.0-1 release
-- skip the documentation-directories docbook, manpages and yodldocs
-- don't include *.sgml documentation in package
-- moved codepage-directory to /usr/share/samba/codepages
-- make it compile with glibc-2.2.3-10 and kernel-headers-2.4.2-2   
-
-* Mon May 21 2001 Helge Deller <hdeller@redhat.de> 
-- updated to samba 2.2.0
-- moved codepages to %{_datadir}/samba/codepages
-- use all available CPUs for building rpm packages
-- use %{_xxx} defines at most places in spec-file
-- "License:" replaces "Copyright:"
-- dropped excludearch sparc
-- de-activated japanese patches 100 and 200 for now 
-  (they need to be fixed and tested wth 2.2.0)
-- separated swat.desktop file from spec-file and added
-  german translations
-- moved /etc/sysconfig/samba to a separate source-file
-- use htmlview instead of direct call to netscape in 
-  swat.desktop-file
-
-* Mon May  7 2001 Bill Nottingham <notting@redhat.com>
-- device-remove security fix again (<tridge@samba.org>)
-
-* Fri Apr 20 2001 Bill Nottingham <notting@redhat.com>
-- fix tempfile security problems, officially (<tridge@samba.org>)
-- update to 2.0.8
-
-* Sun Apr  8 2001 Bill Nottingham <notting@redhat.com>
-- turn of SSL, kerberos
-
-* Thu Apr  5 2001 Bill Nottingham <notting@redhat.com>
-- fix tempfile security problems (patch from <Marcus.Meissner@caldera.de>)
-
-* Thu Mar 29 2001 Bill Nottingham <notting@redhat.com>
-- fix quota support, and quotas with the 2.4 kernel (#31362, #33915)
-
-* Mon Mar 26 2001 Nalin Dahyabhai <nalin@redhat.com>
-- tweak the PAM code some more to try to do a setcred() after initgroups()
-- pull in all of the optflags on i386 and sparc
-- don't explicitly enable Kerberos support -- it's only used for password
-  checking, and if PAM is enabled it's a no-op anyway
-
-* Mon Mar  5 2001 Tim Waugh <twaugh@redhat.com>
-- exit successfully from preun script (bug #30644).
-
-* Fri Mar  2 2001 Nalin Dahyabhai <nalin@redhat.com>
-- rebuild in new environment
-
-* Wed Feb 14 2001 Bill Nottingham <notting@redhat.com>
-- updated japanese stuff (#27683)
-
-* Fri Feb  9 2001 Bill Nottingham <notting@redhat.com>
-- fix trigger (#26859)
-
-* Wed Feb  7 2001 Bill Nottingham <notting@redhat.com>
-- add i18n support, japanese patch (#26253)
-
-* Wed Feb  7 2001 Trond Eivind Glomsrød <teg@redhat.com>
-- i18n improvements in initscript (#26537)
-
-* Wed Jan 31 2001 Bill Nottingham <notting@redhat.com>
-- put smbpasswd in samba-common (#25429)
-
-* Wed Jan 24 2001 Bill Nottingham <notting@redhat.com>
-- new i18n stuff
-
-* Sun Jan 21 2001 Bill Nottingham <notting@redhat.com>
-- rebuild
-
-* Thu Jan 18 2001 Bill Nottingham <notting@redhat.com>
-- i18n-ize initscript
-- add a sysconfig file for daemon options (#23550)
-- clarify smbpasswd man page (#23370)
-- build with LFS support (#22388)
-- avoid extraneous pam error messages (#10666)
-- add Urban Widmark's bug fixes for smbmount (#19623)
-- fix setgid directory modes (#11911)
-- split swat into subpackage (#19706)
-
-* Wed Oct 25 2000 Nalin Dahyabhai <nalin@redhat.com>
-- set a default CA certificate path in smb.conf (#19010)
-- require openssl >= 0.9.5a-20 to make sure we have a ca-bundle.crt file
-
-* Mon Oct 16 2000 Bill Nottingham <notting@redhat.com>
-- fix swat only_from line (#18726, others)
-- fix attempt to write outside buildroot on install (#17943)
-
-* Mon Aug 14 2000 Bill Nottingham <notting@redhat.com>
-- add smbspool back in (#15827)
-- fix absolute symlinks (#16125)
-
-* Sun Aug 6 2000 Philipp Knirsch <pknirsch@redhat.com>
-- bugfix for smbadduser script (#15148)
-
-* Mon Jul 31 2000 Matt Wilson <msw@redhat.com>
-- patch configure.ing (patch11) to disable cups test
-- turn off swat by default
-
-* Fri Jul 28 2000 Bill Nottingham <notting@redhat.com>
-- fix condrestart stuff
-
-* Fri Jul 21 2000 Bill Nottingham <notting@redhat.com>
-- add copytruncate to logrotate file (#14360)
-- fix init script (#13708)
-
-* Sat Jul 15 2000 Bill Nottingham <notting@redhat.com>
-- move initscript back
-- remove 'Using Samba' book from %%doc 
-- move stuff to /etc/samba (#13708)
-- default configuration tweaks (#13704)
-- some logrotate tweaks
-
-* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
-- automatic rebuild
-
-* Tue Jul 11 2000 Bill Nottingham <notting@redhat.com>
-- fix logrotate script (#13698)
-
-* Thu Jul  6 2000 Bill Nottingham <notting@redhat.com>
-- fix initscripts req (prereq /etc/init.d)
-
-* Wed Jul 5 2000 Than Ngo <than@redhat.de>
-- add initdir macro to handle the initscript directory
-- add a new macro to handle /etc/pam.d/system-auth
-
-* Thu Jun 29 2000 Nalin Dahyabhai <nalin@redhat.com>
-- enable Kerberos 5 and SSL support
-- patch for duplicate profile.h headers
-
-* Thu Jun 29 2000 Bill Nottingham <notting@redhat.com>
-- fix init script
-
-* Tue Jun 27 2000 Bill Nottingham <notting@redhat.com>
-- rename samba logs (#11606)
-
-* Mon Jun 26 2000 Bill Nottingham <notting@redhat.com>
-- initscript munging
-
-* Fri Jun 16 2000 Bill Nottingham <notting@redhat.com>
-- configure the swat stuff usefully
-- re-integrate some specfile tweaks that got lost somewhere
-
-* Thu Jun 15 2000 Bill Nottingham <notting@redhat.com>
-- rebuild to get rid of cups dependency
-
-* Wed Jun 14 2000 Nalin Dahyabhai <nalin@redhat.com>
-- tweak logrotate configurations to use the PID file in /var/lock/samba
-
-* Sun Jun 11 2000 Bill Nottingham <notting@redhat.com>
-- rebuild in new environment
-
-* Thu Jun  1 2000 Nalin Dahyabhai <nalin@redhat.com>
-- change PAM setup to use system-auth
-
-* Mon May  8 2000 Bill Nottingham <notting@redhat.com>
-- fixes for ia64
-
-* Sat May  6 2000 Bill Nottingham <notting@redhat.com>
-- switch to %%configure
-
-* Wed Apr 26 2000 Nils Philippsen <nils@redhat.de>
-- version 2.0.7
-
-* Sun Mar 26 2000 Florian La Roche <Florian.LaRoche@redhat.com>
-- simplify preun
-
-* Thu Mar 16 2000 Bill Nottingham <notting@redhat.com>
-- fix yp_get_default_domain in autoconf
-- only link against readline for smbclient
-- fix log rotation (#9909)
-
-* Fri Feb 25 2000 Bill Nottingham <notting@redhat.com>
-- fix trigger, again.
-
-* Mon Feb  7 2000 Bill Nottingham <notting@redhat.com>
-- fix trigger.
-
-* Fri Feb  4 2000 Bill Nottingham <notting@redhat.com>
-- turn on quota support
-
-* Mon Jan 31 2000 Cristian Gafton <gafton@redhat.com>
-- rebuild to fox dependencies
-- man pages are compressed
-
-* Fri Jan 21 2000 Bill Nottingham <notting@redhat.com>
-- munge post scripts slightly
-
-* Wed Jan 19 2000 Bill Nottingham <notting@redhat.com>
-- turn on mmap again. Wheee.
-- ship smbmount on alpha
-
-* Mon Dec  6 1999 Bill Nottingham <notting@redhat.com>
-- turn off mmap. ;)
-
-* Wed Dec  1 1999 Bill Nottingham <notting@redhat.com>
-- change /var/log/samba to 0700
-- turn on mmap support
-
-* Thu Nov 11 1999 Bill Nottingham <notting@redhat.com>
-- update to 2.0.6
-
-* Fri Oct 29 1999 Bill Nottingham <notting@redhat.com>
-- add a %defattr for -common
-
-* Tue Oct  5 1999 Bill Nottingham <notting@redhat.com>
-- shift some files into -client
-- remove /home/samba from package.
-
-* Tue Sep 28 1999 Bill Nottingham <notting@redhat.com>
-- initscript oopsie. killproc <name> -HUP, not other way around.
-
-* Sat Sep 26 1999 Bill Nottingham <notting@redhat.com>
-- script cleanups. Again.
-
-* Wed Sep 22 1999 Bill Nottingham <notting@redhat.com>
-- add a patch to fix dropped reconnection attempts
-
-* Mon Sep  6 1999 Jeff Johnson <jbj@redhat.com>
-- use cp rather than mv to preserve /etc/services perms (#4938 et al).
-- use mktemp to generate /etc/tmp.XXXXXX file name.
-- add prereqs on sed/mktemp/killall (need to move killall to /bin).
-- fix trigger syntax (i.e. "samba < 1.9.18p7" not "samba < samba-1.9.18p7")
-
-* Mon Aug 30 1999 Bill Nottingham <notting@redhat.com>
-- sed "s|nawk|gawk|" /usr/bin/convert_smbpasswd
-
-* Sat Aug 21 1999 Bill Nottingham <notting@redhat.com>
-- fix typo in mount.smb
-
-* Fri Aug 20 1999 Bill Nottingham <notting@redhat.com>
-- add a %trigger to work around (sort of) broken scripts in
-  previous releases
-
-* Mon Aug 16 1999 Bill Nottingham <notting@redhat.com>
-- initscript munging
-
-* Mon Aug  9 1999 Bill Nottingham <notting@redhat.com>
-- add domain parsing to mount.smb
-
-* Fri Aug  6 1999 Bill Nottingham <notting@redhat.com>
-- add a -common package, shuffle files around.
-
-* Fri Jul 23 1999 Bill Nottingham <notting@redhat.com>
-- add a chmod in %postun so /etc/services & inetd.conf don't become unreadable
-
-* Wed Jul 21 1999 Bill Nottingham <notting@redhat.com>
-- update to 2.0.5
-- fix mount.smb - smbmount options changed again.........
-- fix postun. oops.
-- update some stuff from the samba team's spec file.
-
-* Fri Jun 18 1999 Bill Nottingham <notting@redhat.com>
-- split off clients into separate package
-- don't run samba by default
-
-* Mon Jun 14 1999 Bill Nottingham <notting@redhat.com>
-- fix one problem with mount.smb script
-- fix smbpasswd on sparc with a really ugly kludge
-
-* Thu Jun 10 1999 Dale Lovelace <dale@redhat.com>
-- fixed logrotate script
-
-* Tue May 25 1999 Bill Nottingham <notting@redhat.com>
-- turn of 64-bit locking on 32-bit platforms
-
-* Thu May 20 1999 Bill Nottingham <notting@redhat.com>
-- so many releases, so little time
-- explicitly uncomment 'printing = bsd' in sample config
-
-* Tue May 18 1999 Bill Nottingham <notting@redhat.com>
-- update to 2.0.4a
-- fix mount.smb arg ordering
-
-* Fri Apr 16 1999 Bill Nottingham <notting@redhat.com>
-- go back to stop/start for restart (-HUP didn't work in testing)
-
-* Fri Mar 26 1999 Bill Nottingham <notting@redhat.com>
-- add a mount.smb to make smb mounting a little easier.
-- smb filesystems apparently don't work on alpha. Oops.
-
-* Thu Mar 25 1999 Bill Nottingham <notting@redhat.com>
-- always create codepages
-
-* Tue Mar 23 1999 Bill Nottingham <notting@redhat.com>
-- logrotate changes
-
-* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
-- auto rebuild in the new build environment (release 3)
-
-* Fri Mar 19 1999 Preston Brown <pbrown@redhat.com>
-- updated init script to use graceful restart (not stop/start)
-
-* Tue Mar  9 1999 Bill Nottingham <notting@redhat.com>
-- update to 2.0.3
-
-* Thu Feb 18 1999 Bill Nottingham <notting@redhat.com>
-- update to 2.0.2
-
-* Mon Feb 15 1999 Bill Nottingham <notting@redhat.com>
-- swat swat
-
-* Tue Feb  9 1999 Bill Nottingham <notting@redhat.com>
-- fix bash2 breakage in post script
-
-* Fri Feb  5 1999 Bill Nottingham <notting@redhat.com>
-- update to 2.0.0
-
-* Mon Oct 12 1998 Cristian Gafton <gafton@redhat.com>
-- make sure all binaries are stripped
-
-* Thu Sep 17 1998 Jeff Johnson <jbj@redhat.com>
-- update to 1.9.18p10.
-- fix %triggerpostun.
-
-* Tue Jul 07 1998 Erik Troan <ewt@redhat.com>
-- updated postun triggerscript to check $0
-- clear /etc/codepages from %preun instead of %postun
-
-* Mon Jun 08 1998 Erik Troan <ewt@redhat.com>
-- made the %postun script a tad less agressive; no reason to remove
-  the logs or lock file (after all, if the lock file is still there,
-  samba is still running)
-- the %postun and %preun should only exectute if this is the final
-  removal
-- migrated %triggerpostun from Red Hat's samba package to work around
-  packaging problems in some Red Hat samba releases
-
-* Sun Apr 26 1998 John H Terpstra <jht@samba.anu.edu.au>
-- minor tidy up in preparation for release of 1.9.18p5
-- added findsmb utility from SGI package
+* Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>
+- Removed ChangeLog entries since they are kept in CVS
 
 
-* Wed Mar 18 1998 John H Terpstra <jht@samba.anu.edu.au>
-- Updated version and codepage info.
-- Release to test name resolve order
 
 
-* Sat Jan 24 1998 John H Terpstra <jht@samba.anu.edu.au>
-- Many optimisations (some suggested by Manoj Kasichainula <manojk@io.com>
-- Use of chkconfig in place of individual symlinks to /etc/rc.d/init/smb
-- Compounded make line
-- Updated smb.init restart mechanism
-- Use compound mkdir -p line instead of individual calls to mkdir
-- Fixed smb.conf file path for log files
-- Fixed smb.conf file path for incoming smb print spool directory
-- Added a number of options to smb.conf file
-- Added smbadduser command (missed from all previous RPMs) - Doooh!
-- Added smbuser file and smb.conf file updates for username map
 
 
diff --git a/packaging/Fedora/smb.conf b/packaging/Fedora/smb.conf
new file mode 100644 (file)
index 0000000..74806da
--- /dev/null
@@ -0,0 +1,286 @@
+# This is the main Samba configuration file. You should read the
+# smb.conf(5) manual page in order to understand the options listed
+# here. Samba has a huge number of configurable options (perhaps too
+# many!) most of which are not shown in this example
+#
+# Any line which starts with a ; (semi-colon) or a # (hash) 
+# is a comment and is ignored. In this example we will use a #
+# for commentry and a ; for parts of the config file that you
+# may wish to enable
+#
+# NOTE: Whenever you modify this file you should run the command "testparm"
+# to check that you have not made any basic syntactic errors. 
+#
+#======================= Global Settings =====================================
+[global]
+
+# workgroup = NT-Domain-Name or Workgroup-Name
+   workgroup = MYGROUP
+
+# server string is the equivalent of the NT Description field
+   server string = Samba Server
+
+# This option is important for security. It allows you to restrict
+# connections to machines which are on your local network. The
+# following example restricts access to two C class networks and
+# the "loopback" interface. For more examples of the syntax see
+# the smb.conf man page
+;   hosts allow = 192.168.1. 192.168.2. 127.
+
+# if you want to automatically load your printer list rather
+# than setting them up individually then you'll need this
+   printcap name = /etc/printcap
+   load printers = yes
+
+# It should not be necessary to spell out the print system type unless
+# yours is non-standard. Currently supported print systems include:
+# bsd, sysv, plp, lprng, aix, hpux, qnx
+;   printing = bsd
+
+# Uncomment this if you want a guest account, you must add this to /etc/passwd
+# otherwise the user "nobody" is used
+;  guest account = pcguest
+
+# this tells Samba to use a separate log file for each machine
+# that connects
+   log file = /var/log/samba/log.%m
+
+# Put a capping on the size of the log files (in Kb).
+   max log size = 50
+
+# Security mode. Most people will want user level security. See
+# security_level.txt for details.
+   security = user
+# Use password server option only with security = server
+;   password server = <NT-Server-Name>
+
+# Password Level allows matching of _n_ characters of the password for
+# all combinations of upper and lower case.
+;  password level = 8
+;  username level = 8
+
+# You may wish to use password encryption. Please read
+# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
+# Do not enable this option unless you have read those documents
+;  encrypt passwords = yes
+;  smb passwd file = /etc/samba/smbpasswd
+
+# The following are needed to allow password changing from Windows to
+# update the Linux system password also.
+# NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
+# NOTE2: You do NOT need these to allow workstations to change only
+#        the encrypted SMB passwords. They allow the Unix password
+#        to be kept in sync with the SMB password.
+;  unix password sync = Yes
+;  passwd program = /usr/bin/passwd %u
+;  passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
+
+# Unix users can map to different SMB User names
+;  username map = /etc/samba/smbusers
+
+# Using the following line enables you to customise your configuration
+# on a per machine basis. The %m gets replaced with the netbios name
+# of the machine that is connecting
+;   include = /etc/samba/smb.conf.%m
+
+# Most people will find that this option gives better performance.
+# See speed.txt and the manual pages for details
+   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
+
+# Configure Samba to use multiple interfaces
+# If you have multiple network interfaces then you must list them
+# here. See the man page for details.
+;   interfaces = 192.168.12.2/24 192.168.13.2/24 
+
+# Configure remote browse list synchronisation here
+#  request announcement to, or browse list sync from:
+#      a specific host or from / to a whole subnet (see below)
+;   remote browse sync = 192.168.3.25 192.168.5.255
+# Cause this host to announce itself to local subnets here
+;   remote announce = 192.168.1.255 192.168.2.44
+
+# Browser Control Options:
+# set local master to no if you don't want Samba to become a master
+# browser on your network. Otherwise the normal election rules apply
+;   local master = no
+
+# OS Level determines the precedence of this server in master browser
+# elections. The default value should be reasonable
+;   os level = 33
+
+# Domain Master specifies Samba to be the Domain Master Browser. This
+# allows Samba to collate browse lists between subnets. Don't use this
+# if you already have a Windows NT domain controller doing this job
+;   domain master = yes 
+
+# Preferred Master causes Samba to force a local browser election on startup
+# and gives it a slightly higher chance of winning the election
+;   preferred master = yes
+
+# Enable this if you want Samba to be a domain logon server for 
+# Windows95 workstations. 
+;   domain logons = yes
+
+# if you enable domain logons then you may want a per-machine or
+# per user logon script
+# run a specific logon batch file per workstation (machine)
+;   logon script = %m.bat
+# run a specific logon batch file per username
+;   logon script = %U.bat
+
+# Where to store roving profiles (only for Win95 and WinNT)
+#        %L substitutes for this servers netbios name, %U is username
+#        You must uncomment the [Profiles] share below
+;   logon path = \\%L\Profiles\%U
+
+# All NetBIOS names must be resolved to IP Addresses
+# 'Name Resolve Order' allows the named resolution mechanism to be specified
+# the default order is "host lmhosts wins bcast". "host" means use the unix
+# system gethostbyname() function call that will use either /etc/hosts OR
+# DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf
+# and the /etc/resolv.conf file. "host" therefore is system configuration
+# dependant. This parameter is most often of use to prevent DNS lookups
+# in order to resolve NetBIOS names to IP Addresses. Use with care!
+# The example below excludes use of name resolution for machines that are NOT
+# on the local network segment
+# - OR - are not deliberately to be known via lmhosts or via WINS.
+; name resolve order = wins lmhosts bcast
+
+# Windows Internet Name Serving Support Section:
+# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
+;   wins support = yes
+
+# WINS Server - Tells the NMBD components of Samba to be a WINS Client
+#      Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
+;   wins server = w.x.y.z
+
+# WINS Proxy - Tells Samba to answer name resolution queries on
+# behalf of a non WINS capable client, for this to work there must be
+# at least one WINS Server on the network. The default is NO.
+;   wins proxy = yes
+
+# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
+# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
+# this has been changed in version 1.9.18 to no.
+   dns proxy = no 
+
+# Case Preservation can be handy - system default is _no_
+# NOTE: These can be set on a per share basis
+;  preserve case = no
+;  short preserve case = no
+# Default case is normally upper case for all DOS files
+;  default case = lower
+# Be very careful with case sensitivity - it can break things!
+;  case sensitive = no
+
+#============================ Share Definitions ==============================
+[homes]
+   comment = Home Directories
+   browseable = no
+   writable = yes
+
+# Un-comment the following and create the netlogon directory for Domain Logons
+; [netlogon]
+;   comment = Network Logon Service
+;   path = /home/netlogon
+;   guest ok = yes
+;   writable = no
+;   share modes = no
+
+
+# Un-comment the following to provide a specific roving profile share
+# the default is to use the user's home directory
+;[Profiles]
+;    path = /home/profiles
+;    browseable = no
+;    guest ok = yes
+
+
+# NOTE: If you have a BSD-style print system there is no need to 
+# specifically define each individual printer
+[printers]
+   comment = All Printers
+   path = /var/spool/samba
+   browseable = no
+# Set public = yes to allow user 'guest account' to print
+   guest ok = no
+   writable = no
+   printable = yes
+
+# This one is useful for people to share files
+;[tmp]
+;   comment = Temporary file space
+;   path = /tmp
+;   read only = no
+;   public = yes
+
+# A publicly accessible directory, but read only, except for people in
+# the "staff" group
+;[public]
+;   comment = Public Stuff
+;   path = /home/samba
+;   public = yes
+;   read only = yes
+;   write list = @staff
+
+# Other examples. 
+#
+# A private printer, usable only by fred. Spool data will be placed in fred's
+# home directory. Note that fred must have write access to the spool directory,
+# wherever it is.
+;[fredsprn]
+;   comment = Fred's Printer
+;   valid users = fred
+;   path = /homes/fred
+;   printer = freds_printer
+;   public = no
+;   writable = no
+;   printable = yes
+
+# A private directory, usable only by fred. Note that fred requires write
+# access to the directory.
+;[fredsdir]
+;   comment = Fred's Service
+;   path = /usr/somewhere/private
+;   valid users = fred
+;   public = no
+;   writable = yes
+;   printable = no
+
+# a service which has a different directory for each machine that connects
+# this allows you to tailor configurations to incoming machines. You could
+# also use the %u option to tailor it by user name.
+# The %m gets replaced with the machine name that is connecting.
+;[pchome]
+;  comment = PC Directories
+;  path = /usr/pc/%m
+;  public = no
+;  writable = yes
+
+# A publicly accessible directory, read/write to all users. Note that all files
+# created in the directory by users will be owned by the default user, so
+# any user with access can delete any other user's files. Obviously this
+# directory must be writable by the default user. Another user could of course
+# be specified, in which case all files would be owned by that user instead.
+;[public]
+;   path = /usr/somewhere/else/public
+;   public = yes
+;   only guest = yes
+;   writable = yes
+;   printable = no
+
+# The following two entries demonstrate how to share a directory so that two
+# users can place files there that will be owned by the specific users. In this
+# setup, the directory should be writable by both users and should have the
+# sticky bit set on it to prevent abuse. Obviously this could be extended to
+# as many users as required.
+;[myshare]
+;   comment = Mary's and Fred's stuff
+;   path = /usr/somewhere/shared
+;   valid users = mary fred
+;   public = no
+;   writable = yes
+;   printable = no
+;   create mask = 0765
+
+
index fca823a06424c60c1754a133166c698ba798e19a..11a011883f93fa1a962cf9af6dc5e4d15fc8f768 100644 (file)
@@ -60,14 +60,16 @@ start() {
 stop() {
         KIND="SMB"
        echo -n $"Shutting down $KIND services: "
 stop() {
         KIND="SMB"
        echo -n $"Shutting down $KIND services: "
-       killproc smbd
+       killproc smbd -TERM
        RETVAL=$?
        RETVAL=$?
+       [ $RETVAL -eq 0 ] && rm -f /var/run/smbd.pid
        echo
        KIND="NMB"
        echo -n $"Shutting down $KIND services: "
        echo
        KIND="NMB"
        echo -n $"Shutting down $KIND services: "
-       killproc nmbd
+       killproc nmbd -TERM
        RETVAL2=$?
        RETVAL2=$?
-       [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb
+       [ $RETVAL2 -eq 0 ] && rm -f /var/run/nmbd.pid
+       [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb 
        echo ""
        return $RETVAL
 }      
        echo ""
        return $RETVAL
 }      
diff --git a/packaging/Fedora/smbusers b/packaging/Fedora/smbusers
new file mode 100644 (file)
index 0000000..ae3389f
--- /dev/null
@@ -0,0 +1,3 @@
+# Unix_name = SMB_name1 SMB_name2 ...
+root = administrator admin
+nobody = guest pcguest smbguest
index ced81135b27fe8619eede8479c5077ab3fbcca12..05e0eb4d006feda12eed409e060b4af89c5621f6 100644 (file)
@@ -49,9 +49,11 @@ stop() {
         echo
        KIND="Winbind"
        echo -n $"Shutting down $KIND services: "
         echo
        KIND="Winbind"
        echo -n $"Shutting down $KIND services: "
-       killproc winbindd
+       killproc winbindd -TERM
        RETVAL=$?
        RETVAL=$?
-       [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/winbindd
+       [ $RETVAL -eq 0 ] \
+               && && rm -f /var/run/nmbd.pid \ 
+               && rm -f /var/lock/subsys/winbindd
        echo ""
        return $RETVAL
 }      
        echo ""
        return $RETVAL
 }      
index ee0b43c01700faa69c53ea3dedf033dd4ceb3c84..787fe87d4ae9f7629a3a63f2d94ea5ad70e220e6 100644 (file)
@@ -2,6 +2,7 @@
 %define rpm_version `rpm --version | awk '{print $3}' | awk -F. '{print $1$2}'`
 
 Summary: Samba SMB client and server
 %define rpm_version `rpm --version | awk '{print $3}' | awk -F. '{print $1$2}'`
 
 Summary: Samba SMB client and server
+Vendor: Samba Team
 Name: samba
 Version: PVERSION
 Release: PRELEASE
 Name: samba
 Version: PVERSION
 Release: PRELEASE
@@ -113,7 +114,7 @@ mkdir -p $RPM_BUILD_ROOT%{prefix}/{bin,sbin}
 mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/{images,help,include,using_samba}
 mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/using_samba/{figs,gifs}
 mkdir -p $RPM_BUILD_ROOTMANDIR_MACRO
 mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/{images,help,include,using_samba}
 mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/using_samba/{figs,gifs}
 mkdir -p $RPM_BUILD_ROOTMANDIR_MACRO
-mkdir -p $RPM_BUILD_ROOT/var/cache/samba
+mkdir -p $RPM_BUILD_ROOT/var/lib/samba
 mkdir -p $RPM_BUILD_ROOT/var/{log,run}/samba
 mkdir -p $RPM_BUILD_ROOT/var/spool/samba
 mkdir -p $RPM_BUILD_ROOT/lib/security
 mkdir -p $RPM_BUILD_ROOT/var/{log,run}/samba
 mkdir -p $RPM_BUILD_ROOT/var/spool/samba
 mkdir -p $RPM_BUILD_ROOT/lib/security
@@ -192,10 +193,23 @@ echo 127.0.0.1 localhost > $RPM_BUILD_ROOT/etc/samba/lmhosts
 # Remove "*.old" files
 find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
 
 # Remove "*.old" files
 find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
 
+##
+## Clean out man pages for tools not installed here
+##
+rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/editreg.1*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbget.1*
+rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/mount.cifs.8*
+
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
+## 
+## only needed if this is a new install (not an upgrade)
+##
 if [ "$1" -eq "1" ]; then
        /sbin/chkconfig --add smb
        /sbin/chkconfig --add winbind
 if [ "$1" -eq "1" ]; then
        /sbin/chkconfig --add smb
        /sbin/chkconfig --add winbind
@@ -203,96 +217,85 @@ if [ "$1" -eq "1" ]; then
        /sbin/chkconfig winbind off
 fi
 
        /sbin/chkconfig winbind off
 fi
 
-echo "Looking for old /etc/smb.conf..."
-if [ -f /etc/smb.conf -a ! -f /etc/samba/smb.conf ]; then
-       echo "Moving old /etc/smb.conf to /etc/samba/smb.conf"
-       mv /etc/smb.conf /etc/samba/smb.conf
-fi
-
-echo "Looking for old /etc/smbusers..."
-if [ -f /etc/smbusers -a ! -f /etc/samba/smbusers ]; then
-       echo "Moving old /etc/smbusers to /etc/samba/smbusers"
-       mv /etc/smbusers /etc/samba/smbusers
-fi
-
-echo "Looking for old /etc/lmhosts..."
-if [ -f /etc/lmhosts -a ! -f /etc/samba/lmhosts ]; then
-       echo "Moving old /etc/lmhosts to /etc/samba/lmhosts"
-       mv /etc/lmhosts /etc/samba/lmhosts
-fi
-
-echo "Looking for old /etc/MACHINE.SID..."
-if [ -f /etc/MACHINE.SID -a ! -f /etc/samba/MACHINE.SID ]; then
-       echo "Moving old /etc/MACHINE.SID to /etc/samba/MACHINE.SID"
-       mv /etc/MACHINE.SID /etc/samba/MACHINE.SID
-fi
-
-echo "Looking for old /etc/smbpasswd..."
-if [ -f /etc/smbpasswd -a ! -f /etc/samba/smbpasswd ]; then
-       echo "Moving old /etc/smbpasswd to /etc/samba/smbpasswd"
-       mv /etc/smbpasswd /etc/samba/smbpasswd
-fi
-
-#
-# For 2.2.1 we move the tdb files from /var/lock/samba to /var/cache/samba
-# to preserve across reboots.
-#
-echo "Moving tdb files in /var/lock/samba/*.tdb to /var/cache/samba/*.tdb"
-for i in /var/lock/samba/*.tdb
-do
-if [ -f $i ]; then
-       newname=`echo $i | sed -e's|var\/lock\/samba|var\/cache\/samba|'`
-       echo "Moving $i to $newname"
-       mv $i $newname
-fi
-done
+##
+## we only have to wory about this if we are upgrading
+##
+if [ "$1" -eq "2" ]; then
+       if [ -f /etc/smb.conf -a ! -f /etc/samba/smb.conf ]; then
+               echo "Moving old /etc/smb.conf to /etc/samba/smb.conf"
+               mv /etc/smb.conf /etc/samba/smb.conf
+       fi
 
 
-# Remove the transient tdb files.
-if [ -e /var/cache/samba/brlock.tdb ]; then
-       rm -f /var/cache/samba/brlock.tdb
-fi
+       if [ -f /etc/smbusers -a ! -f /etc/samba/smbusers ]; then
+               echo "Moving old /etc/smbusers to /etc/samba/smbusers"
+               mv /etc/smbusers /etc/samba/smbusers
+       fi
 
 
-if [ -e /var/cache/samba/unexpected.tdb ]; then
-       rm -f /var/cache/samba/unexpected.tdb
-fi
+       if [ -f /etc/lmhosts -a ! -f /etc/samba/lmhosts ]; then
+               echo "Moving old /etc/lmhosts to /etc/samba/lmhosts"
+               mv /etc/lmhosts /etc/samba/lmhosts
+       fi
 
 
-if [ -e /var/cache/samba/connections.tdb ]; then
-       rm -f /var/cache/samba/connections.tdb
-fi
+       if [ -f /etc/MACHINE.SID -a ! -f /etc/samba/MACHINE.SID ]; then
+               echo "Moving old /etc/MACHINE.SID to /etc/samba/MACHINE.SID"
+               mv /etc/MACHINE.SID /etc/samba/MACHINE.SID
+       fi
 
 
-if [ -e /var/cache/samba/locking.tdb ]; then
-       rm -f /var/cache/samba/locking.tdb
-fi
+       if [ -f /etc/smbpasswd -a ! -f /etc/samba/smbpasswd ]; then
+               echo "Moving old /etc/smbpasswd to /etc/samba/smbpasswd"
+               mv /etc/smbpasswd /etc/samba/smbpasswd
+       fi
 
 
-if [ -e /var/cache/samba/messages.tdb ]; then
-       rm -f /var/cache/samba/messages.tdb
+       #
+       # For 2.2.1 we move the tdb files from /var/lock/samba to /var/cache/samba
+       # to preserve across reboots.
+       #
+       for i in /var/lock/samba/*.tdb; do
+               if [ -f $i ]; then
+                       newname="/var/lib/samba/`basename $i`"
+                       echo "Moving $i to $newname"
+                       mv $i $newname
+               fi
+       done
+
+       #
+       # For 3.0.1 we move the tdb files from /var/cache/samba to /var/lib/samba
+       #
+       echo "Moving tdb files in /var/cache/samba/*.tdb to /var/lib/samba/*.tdb"
+       for i in /var/cache/samba/*.tdb; do
+               if [ -f $i ]; then
+                       newname="/var/lib/samba/`basename $i`"
+                       echo "Moving $i to $newname"
+                       mv $i $newname
+               fi
+       done
 fi
 
 fi
 
-if [ -d /var/lock/samba ]; then
-       rm -rf /var/lock/samba
-fi
+##
+## New things
+##
 
 # Add swat entry to /etc/services if not already there.
 
 # Add swat entry to /etc/services if not already there.
-if !( grep ^[:space:]*swat /etc/services > /dev/null ) then
+if [ ! "`grep ^\s**swat /etc/services`" ]; then
        echo 'swat              901/tcp                         # Add swat service used via inetd' >> /etc/services
 fi
 
 # Add swat entry to /etc/inetd.conf if needed.
 if [ -f /etc/inetd.conf ]; then
        echo 'swat              901/tcp                         # Add swat service used via inetd' >> /etc/services
 fi
 
 # Add swat entry to /etc/inetd.conf if needed.
 if [ -f /etc/inetd.conf ]; then
-       if !( grep ^[:space:]*swat /etc/inetd.conf > /dev/null ) then
+       if [ ! "`grep ^\s*swat /etc/inetd.conf`" ]; then
                echo 'swat      stream  tcp     nowait.400      root    %{prefix}/sbin/swat swat' >> /etc/inetd.conf
                echo 'swat      stream  tcp     nowait.400      root    %{prefix}/sbin/swat swat' >> /etc/inetd.conf
-       killall -1 inetd || :
+       killall -HUP inetd || :
        fi
 fi
 
 # Add swat entry to xinetd.d if needed.
        fi
 fi
 
 # Add swat entry to xinetd.d if needed.
-if [ -d $RPM_BUILD_ROOT/etc/xinetd.d -a ! -f /etc/xinetd.d/swat ]; then
+if [ -d /etc/xinetd.d -a ! -f /etc/xinetd.d/swat ]; then
        mv /etc/samba/samba.xinetd /etc/xinetd.d/swat
 else
        rm -f /etc/samba/samba.xinetd
 fi
 
        mv /etc/samba/samba.xinetd /etc/xinetd.d/swat
 else
        rm -f /etc/samba/samba.xinetd
 fi
 
-# Install the correct version of the samba pam file, depending on pam version.
+# Install the correct version of the samba pam file
 if [ -f /lib/security/pam_stack.so ]; then
        echo "Installing stack version of /etc/pam.d/samba..."
        mv /etc/samba/samba.stack /etc/pam.d/samba
 if [ -f /lib/security/pam_stack.so ]; then
        echo "Installing stack version of /etc/pam.d/samba..."
        mv /etc/samba/samba.stack /etc/pam.d/samba
@@ -305,77 +308,75 @@ fi
 /sbin/ldconfig
 
 %preun
 /sbin/ldconfig
 
 %preun
-if [ $1 = 0 ] ; then
+if [ "$1" -eq "0" ] ; then
        /sbin/chkconfig --del smb
        /sbin/chkconfig --del winbind
 
        /sbin/chkconfig --del smb
        /sbin/chkconfig --del winbind
 
-       # We want to remove the browse.dat and wins.dat files so they can not interfer with a new version of samba!
-       if [ -e /var/cache/samba/browse.dat ]; then
-               rm -f /var/cache/samba/browse.dat
+       # We want to remove the browse.dat and wins.dat files 
+       # so they can not interfer with a new version of samba!
+       if [ -e /var/lib/samba/browse.dat ]; then
+               rm -f /var/lib/samba/browse.dat
        fi
        fi
-       if [ -e /var/cache/samba/wins.dat ]; then
-               rm -f /var/cache/samba/wins.dat
+       if [ -e /var/lib/samba/wins.dat ]; then
+               rm -f /var/lib/samba/wins.dat
        fi
 
        # Remove the transient tdb files.
        fi
 
        # Remove the transient tdb files.
-       if [ -e /var/cache/samba/brlock.tdb ]; then
-               rm -f /var/cache/samba/brlock.tdb
-       fi
-
-       if [ -e /var/cache/samba/unexpected.tdb ]; then
-               rm -f /var/cache/samba/unexpected.tdb
+       if [ -e /var/lib/samba/brlock.tdb ]; then
+               rm -f /var/lib/samba/brlock.tdb
        fi
 
        fi
 
-       if [ -e /var/cache/samba/connections.tdb ]; then
-               rm -f /var/cache/samba/connections.tdb
+       if [ -e /var/lib/samba/unexpected.tdb ]; then
+               rm -f /var/lib/samba/unexpected.tdb
        fi
 
        fi
 
-       if [ -e /var/cache/samba/locking.tdb ]; then
-               rm -f /var/cache/samba/locking.tdb
+       if [ -e /var/lib/samba/connections.tdb ]; then
+               rm -f /var/lib/samba/connections.tdb
        fi
 
        fi
 
-       if [ -e /var/cache/samba/messages.tdb ]; then
-               rm -f /var/cache/samba/messages.tdb
+       if [ -e /var/lib/samba/locking.tdb ]; then
+               rm -f /var/lib/samba/locking.tdb
        fi
 
        fi
 
-       # Remove winbind nss client symlink
-
-       if [ -L /lib/libnss_winbind.so.2 ]; then
-               rm -f /lib/libnss_winbind.so.2
+       if [ -e /var/lib/samba/messages.tdb ]; then
+               rm -f /var/lib/samba/messages.tdb
        fi
 fi
 
 %postun
 # Only delete remnants of samba if this is the final deletion.
        fi
 fi
 
 %postun
 # Only delete remnants of samba if this is the final deletion.
-if [ $1 = 0 ] ; then
+if [ "$1" -eq  "0" ] ; then
     if [ -x /etc/pam.d/samba ]; then
       rm -f /etc/pam.d/samba
     fi
     if [ -x /etc/pam.d/samba ]; then
       rm -f /etc/pam.d/samba
     fi
+
     if [ -e /var/log/samba ]; then
       rm -rf /var/log/samba
     fi
     if [ -e /var/log/samba ]; then
       rm -rf /var/log/samba
     fi
-       if [ -e /var/cache/samba ]; then
-               rm -rf /var/cache/samba
-       fi
+
+    if [ -e /var/lib/samba ]; then
+      rm -rf /var/lib/samba
+    fi
 
     # Remove swat entries from /etc/inetd.conf and /etc/services
     cd /etc
     tmpfile=/etc/tmp.$$
 
     # Remove swat entries from /etc/inetd.conf and /etc/services
     cd /etc
     tmpfile=/etc/tmp.$$
-       if [ -f /etc/inetd.conf ]; then
+    if [ -f /etc/inetd.conf ]; then
       # preserve inetd.conf permissions.
       cp -p /etc/inetd.conf $tmpfile
       sed -e '/^[:space:]*swat.*$/d' /etc/inetd.conf > $tmpfile
       mv $tmpfile inetd.conf
       # preserve inetd.conf permissions.
       cp -p /etc/inetd.conf $tmpfile
       sed -e '/^[:space:]*swat.*$/d' /etc/inetd.conf > $tmpfile
       mv $tmpfile inetd.conf
-       fi
+    fi
+
     # preserve services permissions.
     cp -p /etc/services $tmpfile
     sed -e '/^[:space:]*swat.*$/d' /etc/services > $tmpfile
     mv $tmpfile /etc/services
 
     # preserve services permissions.
     cp -p /etc/services $tmpfile
     sed -e '/^[:space:]*swat.*$/d' /etc/services > $tmpfile
     mv $tmpfile /etc/services
 
-       # Remove swat entry from /etc/xinetd.d
-       if [ -f /etc/xinetd.d/swat ]; then
-               rm -r /etc/xinetd.d/swat
-       fi
+    # Remove swat entry from /etc/xinetd.d
+    if [ -f /etc/xinetd.d/swat ]; then
+      rm -r /etc/xinetd.d/swat
+    fi
 fi
 
 /sbin/ldconfig
 fi
 
 /sbin/ldconfig
@@ -447,7 +448,7 @@ MANDIR_MACRO/man1/*
 MANDIR_MACRO/man5/*
 MANDIR_MACRO/man7/*
 MANDIR_MACRO/man8/*
 MANDIR_MACRO/man5/*
 MANDIR_MACRO/man7/*
 MANDIR_MACRO/man8/*
-%attr(755,root,root) %dir /var/cache/samba
+%attr(755,root,root) %dir /var/lib/samba
 %dir /var/log/samba
 %dir /var/run/samba
 %attr(1777,root,root) %dir /var/spool/samba
 %dir /var/log/samba
 %dir /var/run/samba
 %attr(1777,root,root) %dir /var/spool/samba
index 1b620e60c258f9ac4333878520c122d655825d76..37d8a4d36f8a1bac207baa92c7787373eab2d28b 100644 (file)
@@ -14,6 +14,7 @@
 # usedforbuild    aaa_base acl attr bash bind9-utils bison coreutils cpio cpp cvs cyrus-sasl2 db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv kbd less libacl libattr libgcc libstdc++ libxcrypt m4 make man mktemp modutils ncurses ncurses-devel net-tools netcfg pam pam-devel pam-modules patch permissions ps rcs readline sed sendmail shadow strace syslogd sysvinit tar texinfo timezone unzip util-linux vim zlib zlib-devel XFree86-libs autoconf automake binutils bzip2 cracklib cups-devel cups-libs dialog docbook-utils docbook-xsl-stylesheets docbook_4 ed freetype2 gcc gdbm gettext ghostscript-fonts-std ghostscript-library ghostscript-x11 glib heimdal heimdal-devel heimdal-lib iso_ent libacl-devel libattr-devel libgimpprint libpng libtiff libtool libxml2 libxml2-devel libxslt mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel perl popt popt-devel python python-devel readline-devel rpm te_ams te_etex te_latex te_pdf tetex xmlcharent
 
 Name:         samba3
 # usedforbuild    aaa_base acl attr bash bind9-utils bison coreutils cpio cpp cvs cyrus-sasl2 db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv kbd less libacl libattr libgcc libstdc++ libxcrypt m4 make man mktemp modutils ncurses ncurses-devel net-tools netcfg pam pam-devel pam-modules patch permissions ps rcs readline sed sendmail shadow strace syslogd sysvinit tar texinfo timezone unzip util-linux vim zlib zlib-devel XFree86-libs autoconf automake binutils bzip2 cracklib cups-devel cups-libs dialog docbook-utils docbook-xsl-stylesheets docbook_4 ed freetype2 gcc gdbm gettext ghostscript-fonts-std ghostscript-library ghostscript-x11 glib heimdal heimdal-devel heimdal-lib iso_ent libacl-devel libattr-devel libgimpprint libpng libtiff libtool libxml2 libxml2-devel libxslt mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel perl popt popt-devel python python-devel readline-devel rpm te_ams te_etex te_latex te_pdf tetex xmlcharent
 
 Name:         samba3
+Vendor:       Samba Team
 License:      GPL
 Group:        Productivity/Networking/Samba
 Url:          http://www.samba.org
 License:      GPL
 Group:        Productivity/Networking/Samba
 Url:          http://www.samba.org
index 97abbd46e317eb0e75059f3928c86ceeea88d4a2..048a6c5db053ff5fbcd393ff6d375eff1066d33e 100644 (file)
@@ -701,10 +701,12 @@ BOOL get_group_from_gid(gid_t gid, GROUP_MAP *map)
 BOOL get_sid_list_of_group(gid_t gid, DOM_SID **sids, int *num_sids)
 {
        struct group *grp;
 BOOL get_sid_list_of_group(gid_t gid, DOM_SID **sids, int *num_sids)
 {
        struct group *grp;
-       struct passwd *pwd;
        int i=0;
        char *gr;
        DOM_SID *s;
        int i=0;
        char *gr;
        DOM_SID *s;
+
+       struct sys_pwent *userlist;
+       struct sys_pwent *user;
  
        if(!init_group_mapping()) {
                DEBUG(0,("failed to initialize group mapping"));
  
        if(!init_group_mapping()) {
                DEBUG(0,("failed to initialize group mapping"));
@@ -751,41 +753,53 @@ BOOL get_sid_list_of_group(gid_t gid, DOM_SID **sids, int *num_sids)
 
        winbind_off();
 
 
        winbind_off();
 
-       setpwent();
-       while ((pwd=getpwent()) != NULL) {
-               if (pwd->pw_gid==gid) {
-                       SAM_ACCOUNT *group_member_acct = NULL;
-                       BOOL found_user;
-                       s = Realloc((*sids), sizeof(**sids)*(*num_sids+1));
-                       if (!s) {
-                               DEBUG(0,("get_sid_list_of_group: unable to enlarge SID list!\n"));
-                               winbind_on();
-                               return False;
-                       }
-                       else (*sids) = s;
+       user = userlist = getpwent_list();
+
+       while (user != NULL) {
+
+               SAM_ACCOUNT *group_member_acct = NULL;
+               BOOL found_user;
+
+               if (user->pw_gid != gid) {
+                       user = user->next;
+                       continue;
+               }
+
+               s = Realloc((*sids), sizeof(**sids)*(*num_sids+1));
+               if (!s) {
+                       DEBUG(0,("get_sid_list_of_group: unable to enlarge "
+                                "SID list!\n"));
+                       pwent_free(userlist);
+                       winbind_on();
+                       return False;
+               }
+               else (*sids) = s;
                        
                        
-                       if (!NT_STATUS_IS_OK(pdb_init_sam(&group_member_acct))) {
-                               continue;
-                       }
+               if (!NT_STATUS_IS_OK(pdb_init_sam(&group_member_acct))) {
+                       continue;
+               }
                        
                        
-                       become_root();
-                       found_user = pdb_getsampwnam(group_member_acct, pwd->pw_name);
-                       unbecome_root();
+               become_root();
+               found_user = pdb_getsampwnam(group_member_acct, user->pw_name);
+               unbecome_root();
                        
                        
-                       if (found_user) {
-                               sid_copy(&(*sids)[*num_sids], pdb_get_user_sid(group_member_acct));
+               if (found_user) {
+                       sid_copy(&(*sids)[*num_sids],
+                                pdb_get_user_sid(group_member_acct));
+                       (*num_sids)++;
+               } else {
+                       DEBUG(4,("get_sid_list_of_group: User %s [uid == %lu] "
+                                "has no samba account\n",
+                                user->pw_name, (unsigned long)user->pw_uid));
+                       if (algorithmic_uid_to_sid(&(*sids)[*num_sids],
+                                                  user->pw_uid))
                                (*num_sids)++;
                                (*num_sids)++;
-                       } else {
-                               DEBUG(4,("get_sid_list_of_group: User %s [uid == %lu] has no samba account\n",
-                                        pwd->pw_name, (unsigned long)pwd->pw_uid));
-                               if (algorithmic_uid_to_sid(&(*sids)[*num_sids], pwd->pw_uid))
-                                       (*num_sids)++;
-                       }
-       
-                       pdb_free_sam(&group_member_acct);
                }
                }
+               pdb_free_sam(&group_member_acct);
+
+               user = user->next;
        }
        }
-       endpwent();
+       pwent_free(userlist);
        DEBUG(10, ("got primary groups, members: [%d]\n", *num_sids));
 
        winbind_on();
        DEBUG(10, ("got primary groups, members: [%d]\n", *num_sids));
 
        winbind_on();
index ac4a861ff1b8f643ea3c4e9c54f0f5923026f987..362047f62b10c83938ba5b18eaec765e35b086a6 100644 (file)
@@ -1009,3 +1009,141 @@ failed:
        free_response(&response);
        return ret;
 }
        free_response(&response);
        return ret;
 }
+
+/* map a sid to a uid */
+NSS_STATUS
+_nss_winbind_sidtouid(const char *sid, uid_t *uid, int *errnop)
+{
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+
+#ifdef DEBUG_NSS
+       fprintf(stderr, "[%5d]: sidtouid %s\n", getpid(), sid);
+#endif
+
+       ZERO_STRUCT(request);
+       ZERO_STRUCT(response);
+
+       strncpy(request.data.sid, sid, sizeof(request.data.sid) - 1);
+       request.data.sid[sizeof(request.data.sid) - 1] = '\0';
+
+       ret = winbindd_request(WINBINDD_SID_TO_UID, &request, &response);
+       if (ret != NSS_STATUS_SUCCESS) {
+               *errnop = errno = EINVAL;
+               goto failed;
+       }
+
+       *uid = response.data.uid;
+
+failed:
+       return ret;
+}
+
+/* map a sid to a gid */
+NSS_STATUS
+_nss_winbind_sidtogid(const char *sid, gid_t *gid, int *errnop)
+{
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+
+#ifdef DEBUG_NSS
+       fprintf(stderr, "[%5d]: sidtogid %s\n", getpid(), sid);
+#endif
+
+       ZERO_STRUCT(request);
+       ZERO_STRUCT(response);
+
+       strncpy(request.data.sid, sid, sizeof(request.data.sid) - 1);
+       request.data.sid[sizeof(request.data.sid) - 1] = '\0';
+
+       ret = winbindd_request(WINBINDD_SID_TO_GID, &request, &response);
+       if (ret != NSS_STATUS_SUCCESS) {
+               *errnop = errno = EINVAL;
+               goto failed;
+       }
+
+       *gid = response.data.gid;
+
+failed:
+       return ret;
+}
+
+/* map a uid to a SID string */
+NSS_STATUS
+_nss_winbind_uidtosid(uid_t uid, char **sid, char *buffer,
+                     size_t buflen, int *errnop)
+{
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+
+#ifdef DEBUG_NSS
+       fprintf(stderr, "[%5d]: uidtosid %s\n", getpid(), name);
+#endif
+
+       ZERO_STRUCT(response);
+       ZERO_STRUCT(request);
+
+       request.data.uid = uid;
+
+       ret = winbindd_request(WINBINDD_UID_TO_SID, &request, &response);
+       if (ret != NSS_STATUS_SUCCESS) {
+               *errnop = errno = EINVAL;
+               goto failed;
+       }
+
+       if (buflen < strlen(response.data.sid.sid)+1) {
+               ret = NSS_STATUS_TRYAGAIN;
+               *errnop = errno = ERANGE;
+               goto failed;
+       }
+
+       *errnop = errno = 0;
+       *sid = buffer;
+       strcpy(*sid, response.data.sid.sid);
+
+failed:
+       free_response(&response);
+       return ret;
+}
+
+/* map a gid to a SID string */
+NSS_STATUS
+_nss_winbind_gidtosid(gid_t gid, char **sid, char *buffer,
+                     size_t buflen, int *errnop)
+{
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+
+#ifdef DEBUG_NSS
+       fprintf(stderr, "[%5d]: gidtosid %s\n", getpid(), name);
+#endif
+
+       ZERO_STRUCT(response);
+       ZERO_STRUCT(request);
+
+       request.data.gid = gid;
+
+       ret = winbindd_request(WINBINDD_GID_TO_SID, &request, &response);
+       if (ret != NSS_STATUS_SUCCESS) {
+               *errnop = errno = EINVAL;
+               goto failed;
+       }
+
+       if (buflen < strlen(response.data.sid.sid)+1) {
+               ret = NSS_STATUS_TRYAGAIN;
+               *errnop = errno = ERANGE;
+               goto failed;
+       }
+
+       *errnop = errno = 0;
+       *sid = buffer;
+       strcpy(*sid, response.data.sid.sid);
+
+failed:
+       free_response(&response);
+       return ret;
+}
index b31dc92b38c94154bf91cc43344d3abc816c6edc..4805e628dd800fc0c592eab48640df5b673cffd9 100644 (file)
@@ -1098,7 +1098,7 @@ enum winbindd_result winbindd_getusersids(struct winbindd_cli_state *state)
        enum winbindd_result result = WINBINDD_ERROR;
        unsigned int i;
        TALLOC_CTX *mem_ctx;
        enum winbindd_result result = WINBINDD_ERROR;
        unsigned int i;
        TALLOC_CTX *mem_ctx;
-       char *ret;
+       char *ret = NULL;
        uint32 num_groups;
        unsigned ofs, ret_size = 0;
 
        uint32 num_groups;
        unsigned ofs, ret_size = 0;
 
@@ -1144,7 +1144,7 @@ enum winbindd_result winbindd_getusersids(struct winbindd_cli_state *state)
        ofs = 0;
        for (i = 0; i < num_groups; i++) {
                const char *s = sid_string_static(user_grpsids[i]);
        ofs = 0;
        for (i = 0; i < num_groups; i++) {
                const char *s = sid_string_static(user_grpsids[i]);
-               safe_strcpy(ret + ofs, s, ret_size - ofs);
+               safe_strcpy(ret + ofs, s, ret_size - ofs - 1);
                ofs += strlen(ret+ofs) + 1;
        }
 
                ofs += strlen(ret+ofs) + 1;
        }
 
index 89dc0994c613e39cfe8c668fb1456bddb113a25e..bc2cd175034922375549b052adef4cb70dd58750 100644 (file)
@@ -45,37 +45,37 @@ BOOL epm_io_handle(const char *desc, EPM_HANDLE *handle, prs_struct *ps,
 /*******************************************************************
  inits an EPM_FLOOR structure.
 ********************************************************************/
 /*******************************************************************
  inits an EPM_FLOOR structure.
 ********************************************************************/
-NTSTATUS init_epm_floor(EPM_FLOOR *floor, uint8 protocol)
+NTSTATUS init_epm_floor(EPM_FLOOR *efloor, uint8 protocol)
 {
        /* handle lhs */
 {
        /* handle lhs */
-       floor->lhs.protocol = protocol;
-       floor->lhs.length = sizeof(floor->lhs.protocol);
+       efloor->lhs.protocol = protocol;
+       efloor->lhs.length = sizeof(efloor->lhs.protocol);
 
 
-       switch(floor->lhs.protocol) {
+       switch(efloor->lhs.protocol) {
        case EPM_FLOOR_UUID:
        case EPM_FLOOR_UUID:
-               floor->lhs.length += sizeof(floor->lhs.uuid.uuid);
-               floor->lhs.length += sizeof(floor->lhs.uuid.version);
+               efloor->lhs.length += sizeof(efloor->lhs.uuid.uuid);
+               efloor->lhs.length += sizeof(efloor->lhs.uuid.version);
                break;
        default:
                break;
        }
 
        /* handle rhs */
                break;
        default:
                break;
        }
 
        /* handle rhs */
-       switch(floor->lhs.protocol) {
+       switch(efloor->lhs.protocol) {
        case EPM_FLOOR_RPC:
        case EPM_FLOOR_UUID:
        case EPM_FLOOR_RPC:
        case EPM_FLOOR_UUID:
-               floor->rhs.length = sizeof(floor->rhs.unknown);
+               efloor->rhs.length = sizeof(efloor->rhs.unknown);
                break;
        case EPM_FLOOR_TCP:
                break;
        case EPM_FLOOR_TCP:
-               floor->rhs.length = sizeof(floor->rhs.tcp.port);
+               efloor->rhs.length = sizeof(efloor->rhs.tcp.port);
                break;
        case EPM_FLOOR_IP:
                break;
        case EPM_FLOOR_IP:
-               floor->rhs.length = sizeof(floor->rhs.ip.addr);
+               efloor->rhs.length = sizeof(efloor->rhs.ip.addr);
                break;
        case EPM_FLOOR_NMPIPES:
        case EPM_FLOOR_LRPC:
        case EPM_FLOOR_NETBIOS:
                break;
        case EPM_FLOOR_NMPIPES:
        case EPM_FLOOR_LRPC:
        case EPM_FLOOR_NETBIOS:
-               floor->rhs.length = strlen(floor->rhs.string) + 1;
+               efloor->rhs.length = strlen(efloor->rhs.string) + 1;
                break;
        default:
                break;
                break;
        default:
                break;
@@ -87,118 +87,118 @@ NTSTATUS init_epm_floor(EPM_FLOOR *floor, uint8 protocol)
 /*******************************************************************
  inits an EPM_FLOOR structure with a UUID
 ********************************************************************/
 /*******************************************************************
  inits an EPM_FLOOR structure with a UUID
 ********************************************************************/
-NTSTATUS init_epm_floor_uuid(EPM_FLOOR *floor,
+NTSTATUS init_epm_floor_uuid(EPM_FLOOR *efloor,
                             const struct uuid uuid, uint16 version)
 {
                             const struct uuid uuid, uint16 version)
 {
-       memcpy(&floor->lhs.uuid.uuid, &uuid, sizeof(uuid));
-       floor->lhs.uuid.version = version;
-       floor->rhs.unknown = 0;
-       return init_epm_floor(floor, EPM_FLOOR_UUID);
+       memcpy(&efloor->lhs.uuid.uuid, &uuid, sizeof(uuid));
+       efloor->lhs.uuid.version = version;
+       efloor->rhs.unknown = 0;
+       return init_epm_floor(efloor, EPM_FLOOR_UUID);
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for RPC
 ********************************************************************/
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for RPC
 ********************************************************************/
-NTSTATUS init_epm_floor_rpc(EPM_FLOOR *floor)
+NTSTATUS init_epm_floor_rpc(EPM_FLOOR *efloor)
 {
 {
-       floor->rhs.unknown = 0;
-       return init_epm_floor(floor, EPM_FLOOR_RPC);
+       efloor->rhs.unknown = 0;
+       return init_epm_floor(efloor, EPM_FLOOR_RPC);
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for TCP
 ********************************************************************/
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for TCP
 ********************************************************************/
-NTSTATUS init_epm_floor_tcp(EPM_FLOOR *floor, uint16 port)
+NTSTATUS init_epm_floor_tcp(EPM_FLOOR *efloor, uint16 port)
 {
 {
-       floor->rhs.tcp.port = htons(port);
-       return init_epm_floor(floor, EPM_FLOOR_TCP);
+       efloor->rhs.tcp.port = htons(port);
+       return init_epm_floor(efloor, EPM_FLOOR_TCP);
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for IP
 ********************************************************************/
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for IP
 ********************************************************************/
-NTSTATUS init_epm_floor_ip(EPM_FLOOR *floor, uint8 addr[4])
+NTSTATUS init_epm_floor_ip(EPM_FLOOR *efloor, uint8 addr[4])
 {
 {
-       memcpy(&floor->rhs.ip.addr, addr, sizeof(addr));
-       return init_epm_floor(floor, EPM_FLOOR_IP);
+       memcpy(&efloor->rhs.ip.addr, addr, sizeof(addr));
+       return init_epm_floor(efloor, EPM_FLOOR_IP);
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for named pipe
 ********************************************************************/
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for named pipe
 ********************************************************************/
-NTSTATUS init_epm_floor_np(EPM_FLOOR *floor, const char *pipe_name)
+NTSTATUS init_epm_floor_np(EPM_FLOOR *efloor, const char *pipe_name)
 {
 {
-       safe_strcpy(floor->rhs.string, pipe_name, sizeof(floor->rhs.string)-1);
-       return init_epm_floor(floor, EPM_FLOOR_NMPIPES);
+       safe_strcpy(efloor->rhs.string, pipe_name, sizeof(efloor->rhs.string)-1);
+       return init_epm_floor(efloor, EPM_FLOOR_NMPIPES);
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for named pipe
 ********************************************************************/
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for named pipe
 ********************************************************************/
-NTSTATUS init_epm_floor_lrpc(EPM_FLOOR *floor, const char *pipe_name)
+NTSTATUS init_epm_floor_lrpc(EPM_FLOOR *efloor, const char *pipe_name)
 {
 {
-       safe_strcpy(floor->rhs.string, pipe_name, sizeof(floor->rhs.string)-1);
-       return init_epm_floor(floor, EPM_FLOOR_LRPC);
+       safe_strcpy(efloor->rhs.string, pipe_name, sizeof(efloor->rhs.string)-1);
+       return init_epm_floor(efloor, EPM_FLOOR_LRPC);
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for named pipe
 ********************************************************************/
 }
 
 /*******************************************************************
  inits an EPM_FLOOR structure for named pipe
 ********************************************************************/
-NTSTATUS init_epm_floor_nb(EPM_FLOOR *floor, char *host_name)
+NTSTATUS init_epm_floor_nb(EPM_FLOOR *efloor, char *host_name)
 {
 {
-       safe_strcpy(floor->rhs.string, host_name, sizeof(floor->rhs.string)-1);
-       return init_epm_floor(floor, EPM_FLOOR_NETBIOS);
+       safe_strcpy(efloor->rhs.string, host_name, sizeof(efloor->rhs.string)-1);
+       return init_epm_floor(efloor, EPM_FLOOR_NETBIOS);
 }
 
 /*******************************************************************
  reads and writes EPM_FLOOR.
 ********************************************************************/
 }
 
 /*******************************************************************
  reads and writes EPM_FLOOR.
 ********************************************************************/
-BOOL epm_io_floor(const char *desc, EPM_FLOOR *floor,
+BOOL epm_io_floor(const char *desc, EPM_FLOOR *efloor,
                  prs_struct *ps, int depth)
 {
        prs_debug(ps, depth, desc, "epm_io_floor");
        depth++;
 
                  prs_struct *ps, int depth)
 {
        prs_debug(ps, depth, desc, "epm_io_floor");
        depth++;
 
-       if (!prs_uint16("lhs_length", ps, depth, &floor->lhs.length))
+       if (!prs_uint16("lhs_length", ps, depth, &efloor->lhs.length))
                return False;
                return False;
-       if (!prs_uint8("protocol", ps, depth, &floor->lhs.protocol))
+       if (!prs_uint8("protocol", ps, depth, &efloor->lhs.protocol))
                return False;
 
                return False;
 
-       switch (floor->lhs.protocol) {
+       switch (efloor->lhs.protocol) {
        case EPM_FLOOR_UUID:
        case EPM_FLOOR_UUID:
-               if (!smb_io_uuid("uuid", &floor->lhs.uuid.uuid, ps, depth))
+               if (!smb_io_uuid("uuid", &efloor->lhs.uuid.uuid, ps, depth))
                        return False;
                if (!prs_uint16("version", ps, depth, 
                        return False;
                if (!prs_uint16("version", ps, depth, 
-                               &floor->lhs.uuid.version))
+                               &efloor->lhs.uuid.version))
                        return False;
                break;
        }
 
                        return False;
                break;
        }
 
-       if (!prs_uint16("rhs_length", ps, depth, &floor->rhs.length))
+       if (!prs_uint16("rhs_length", ps, depth, &efloor->rhs.length))
                return False;
 
                return False;
 
-       switch (floor->lhs.protocol) {
+       switch (efloor->lhs.protocol) {
        case EPM_FLOOR_UUID:
        case EPM_FLOOR_RPC:
        case EPM_FLOOR_UUID:
        case EPM_FLOOR_RPC:
-               if (!prs_uint16("unknown", ps, depth, &floor->rhs.unknown))
+               if (!prs_uint16("unknown", ps, depth, &efloor->rhs.unknown))
                        return False;
                break;
        case EPM_FLOOR_TCP:
                        return False;
                break;
        case EPM_FLOOR_TCP:
-               if (!prs_uint16("tcp_port", ps, depth, &floor->rhs.tcp.port))
+               if (!prs_uint16("tcp_port", ps, depth, &efloor->rhs.tcp.port))
                        return False;
                break;
        case EPM_FLOOR_IP:
                if (!prs_uint8s(False, "ip_addr", ps, depth, 
                        return False;
                break;
        case EPM_FLOOR_IP:
                if (!prs_uint8s(False, "ip_addr", ps, depth, 
-                               floor->rhs.ip.addr,
-                               sizeof(floor->rhs.ip.addr)))
+                               efloor->rhs.ip.addr,
+                               sizeof(efloor->rhs.ip.addr)))
                        return False;
                break;
        case EPM_FLOOR_NMPIPES:
        case EPM_FLOOR_LRPC:
        case EPM_FLOOR_NETBIOS:
                if (!prs_uint8s(False, "string", ps, depth,
                        return False;
                break;
        case EPM_FLOOR_NMPIPES:
        case EPM_FLOOR_LRPC:
        case EPM_FLOOR_NETBIOS:
                if (!prs_uint8s(False, "string", ps, depth,
-                               floor->rhs.string,
-                               floor->rhs.length))
+                               efloor->rhs.string,
+                               efloor->rhs.length))
                        return False;
                break;
        default:
                        return False;
                break;
        default:
index fee6d2084ae28e67dbf04ec8b5e25538989d6014..240ad22ceff5d7827a38148d6862a6bc63b145df 100644 (file)
@@ -1,86 +1,69 @@
-<h2>SWAT : Samba Web Administration Tool !</h2>
-
-<p>Samba\82Ì\90Ý\92è\82Í\8fã\82Ì\83{\83^\83\93\82ð\83N\83\8a\83b\83N\82µ\82Ä\8ds\82¢\82Ü\82·\81B </p>
-
-<h3>\83h\83L\83\85\83\81\83\93\83g</h3>
-
-<ul>
-  <li><b>\93±\93ü\95Ò</b><ul>
-      <li><a href="/swat/ja/help/samba-j.html" target="docs">Samba\93ú\96{\8cê\94Å\82É\82Â\82¢\82Ä</a>
-      <li><a href="/swat/ja/help/samba-func.html" target="docs">Samba \8b@\94\\8fÚ\8d×</a> - Windows NT\82Æ\82Ì\8b@\94\\94ä\8a
-      <li><a href="/swat/ja/help/samba2.html" target="docs">Samba 2.0 \90V\8b@\94\\8fÐ\89î</a> 
-      <li><a href="/swat/ja/help/sambafaq.html" target="docs">Samba FAQ \82æ\82­\82 \82é\8e¿\96â</a> 
-      
-      <li><a href="/swat/ja/help/encrypt-passwd.html" target="docs">Windows 98/Me, Windows NT 4.0, Windows 2000\82Å\82Ì\92\8d\88Ó\8e\96\8d\80</a> 
-      <li><a href="/swat/ja/help/HowToUseSamba/index.html" target="docs">Samba\82É\82æ\82é\83t\83@\83C\83\8b\83T\81[\83o\8d\\92z\96@(Samba\93ü\96å)</a>
-      <li><a href="/swat/using_samba/ja/index.html" target="docs">Using Samba(\96|\96ó\94Å)</a>
-    </ul>
-  
-  <li><b>\83f\81[\83\82\83\93</b> <ul>
-      <li><a href="/swat/ja/help/smbd.8.html" target="docs">smbd</a> - \83t\83@\83C\83\8b\8b¤\97L\83T\81[\83r\83X\83f\81[\83\82\83\93 
-      <li><a href="/swat/ja/help/nmbd.8.html" target="docs">nmbd</a> - \83l\81[\83\80 \83T\81[\83r\83X\83f\81[\83\82\83\93 
-    </ul>
-  
-  <li><b>\8aÇ\97\9d\83\86\81[\83e\83B\83\8a\83e\83B</b> <ul>
-      <li><a href="/swat/ja/help/smbstatus.1.html" target="docs">smbstatus</a> - \8c»\8dÝ\82Ì Samba \82Ö\82Ì\90Ú\91±\8fó\8bµ\82ð\95ñ\8d\90
-      <li><a href="/swat/ja/help/swat.8.html" target="docs">SWAT</a> - Samba Web \8aÇ\97\9d\83c\81[\83\8b
-      <li><a href="/swat/ja/help/smbpasswd.8.html" target="docs">smbpasswd</a> - \83\86\81[\83U\82Ì SMB \83p\83X\83\8f\81[\83h\82Ì\95Ï\8dX
-      <li><a href="/swat/ja/help/make_smbcodepage.1.html" target="docs">make_smbcodepage</a> - \83R\81[\83h\83y\81[\83W\92è\8b`\83t\83@\83C\83\8b\82Ì\8dì\90¬
-      <li><a href="/swat/ja/help/testparm.1.html" target="docs">testparm</a> - smb.conf \90Ý\92è\83t\83@\83C\83\8b\93à\95\94\82Ì\90³\93\96\90«\82ð\8c\9f\8d¸ 
-      <li><a href="/swat/ja/help/testprns.1.html" target="docs">testprns</a> - smbd \82Å\97L\8cø\82È\83v\83\8a\83\93\83^\96¼\82©\82Ç\82¤\82©\82Ì\8c\9f\8d¸
-      <li><a href="/swat/ja/help/smbmnt.8.html" target="docs">smbmnt(8)</a> - SMB \83t\83@\83C\83\8b\83V\83X\83e\83\80\82Ì\83}\83E\83\93\83
-      <li><a href="/swat/ja/help/smbmount.8.html" target="docs">smbmount(8)</a> - SMB \83t\83@\83C\83\8b\83V\83X\83e\83\80\82Ì\83}\83E\83\93\83
-<!--      <li><a href="/swat/ja/help/smbumount.8.html" target="docs">smbumount(8)</a> - 
-        \88ê\94Ê\83\86\81[\83U\82É\82æ\82é\83A\83\93\83}\83E\83\93\83g  -->
-    </ul>
-  
-  <li><b>\83\86\81[\83e\83B\83\8a\83e\83B</b> <ul>
-      <li><a href="/swat/ja/help/smbsh.1.html" target="docs">smbsh(1)</a> - UNIX \83V\83F\83\8b\82©\82ç SMB \8b¤\97L\82Ö\82Ì\83A\83N\83Z\83X\82ð\8eÀ\8c»
-      <li><a href="/swat/ja/help/nmblookup.1.html" target="docs">nmblookup</a> - NetBIOS \96¼\82Ì\8c\9f\8dõ       
-      <li><a href="/swat/ja/help/smbtar.1.html" target="docs">smbtar</a> - SMB/CIFS \8b¤\97L\82ð UNIX \82Ì\83e\81[\83v\82È\82Ç\82Ö\83o\83b\83N\83A\83b\83v
-      <li><a href="/swat/ja/help/smbclient.1.html" target="docs">smbclient</a> - ftp \83R\83}\83\93\83h\95\97\82Ì SMB/CIFS \83N\83\89\83C\83A\83\93\83g
-    </ul>
-  
-  <li><b>\90Ý\92è\83t\83@\83C\83\8b</b> <ul>
-      <li><a href="/swat/ja/help/smb.conf.5.html" target="docs">smb.conf</a> - Samba \82Ì\90Ý\92è\83t\83@\83C\83\8b 
-<!--       <li><a href="/swat/ja/help/smb.conf.default.txt.html" target="docs">smb.conf.default</a> - Samba\90Ý\92è\83t\83@\83C\83\8b\82Ì\97á</code> 
-       -->
-      <li><a href="/swat/ja/help/lmhosts.5.html" target="docs">lmhosts</a> - Samba \82Ì NetBIOS hosts \83t\83@\83C\83\8b 
-      <li><a href="/swat/ja/help/smbpasswd.5.html" target="docs">smbpasswd</a> - Samba \82Ì\88Ã\8d\86\89»\83p\83X\83\8f\81[\83h\81E\83t\83@\83C\83\8b 
-    </ul>
-  
-  <li><b>\82»\82Ì\91¼</b> <ul>
-      <li><a href="/swat/ja/help/DIAGNOSIS.txt.html" target="docs">Samba\83T\81[\83o\82Ì\90f\92f\81E\8fá\8aQ\89ð\90Í\95û\96@</a> - <code>DIAGNOSIS.txt</code>
-      <li><a href="/swat/ja/help/tuning.japanese.html" target="docs">Samba\82ÅWindows NT Server \82Æ\93¯\82\93]\91\97\91¬\93x\82ð\8am\95Û\82·\82é\95û\96@</a>
-      <li><a href="/swat/help/samba.7.html" target="docs">Samba introduction</a> - UNIX \97p\82Ì Windows SMB/CIFS \83t\83@\83C\83\8b\83T\81[\83
-      <li><a href="/swat/ja/help/DOMAIN_MEMBER.txt.html" target="docs">Samba \83T\81[\83o\82ð NT \83h\83\81\83C\83\93\82É\8eQ\89Á\82³\82¹\82é\82É\82Í</a> - <code>DOMAIN_MEMBER.txt</code> 
-      <li><a href="/swat/ja/help/NT_Security.html" target="docs">NT \82Ì\83Z\83L\83\85\83\8a\83e\83B\83_\83C\83A\83\8d\83O\82ð\97\98\97p\82µ UNIX \82Ì\83p\81[\83~\83b\83V\83\87\83\93\82ð\89{\97\97/\95Ï\8dX\82·\82é</a> 
-      <li><a href="/swat/ja/help/smbrun.1.html" target="docs">smbrun</a> - smbd \82Æ\8aO\95\94\83v\83\8d\83O\83\89\83\80\8aÔ\82Ì\83C\83\93\83^\83t\83F\81[\83X
-      <li><a href="/swat/ja/help/Application_Serving.txt.html" target="docs">Samba \8b¤\97L\82ð MS Office \82È\82Ç\82Ì\8aÇ\97\9d\8b¤\97L\82Æ\82µ\82Ä\8eg\97p</a> - <code>Application_Serving.txt</code> 
-      <li><a href="/swat/ja/help/BROWSING.txt.html" target="docs">\83u\83\89\83E\83W\83\93\83O\82ð\89ü\91P\82·\82é\82½\82ß\82Ì\90Ý\92è\95û\96@</a> - <code>BROWSING.txt</code> 
-      <li><a href="/swat/ja/help/CRLF-LF-Conversions.txt.html" target="docs">\83v\83\89\83b\83g\83t\83H\81[\83\80\8aÔ\82Ì\83e\83L\83X\83g\83t\83@\83C\83\8b\82Ì\96â\91è</a> - <code>CRLF-LF-Conversions.txt</code> 
-      <li><a href="/swat/ja/help/DOMAIN.txt.html" target="docs">\83l\83b\83g\83\8f\81[\83N\83\8d\83O\83I\83\93\82Æ\88Ú\93®\83v\83\8d\83t\83@\83C\83\8b</a> - <code>DOMAIN.txt</code> 
-      <li><a href="/swat/ja/help/ENCRYPTION.txt.html" target="docs">LanManager / Samba \83p\83X\83\8f\81[\83h\82Ì\88Ã\8d\86\89»</a> - <code>ENCRYPTION.txt</code> 
-      <li><a href="/swat/ja/help/File-Cacheing.txt.html" target="docs">\95Ö\8bX\93I\83\8d\83b\83N(oplocks)\82É\82æ\82é\83L\83\83\83b\83V\83\85\82Ì\96â\91è</a> - <code>File-Cacheing.txt</code> 
-      <li><a href="/swat/ja/help/NT-Guest-Access.txt.html" target="docs">NT \82Ì\83Q\83X\83g\81E\83A\83J\83E\83\93\83g\82Ì\83o\83O</a> - <code>NT-Guest-Access.txt</code> 
-      <li><a href="/swat/ja/help/NTDOMAIN.txt.html" target="docs">NT \83h\83\81\83C\83\93\83\8d\83O\83I\83\93\8b@\94\</a> - <code>NTDOMAIN.txt</code> 
-      <li><a href="/swat/ja/help/NetBIOS.txt.html" target="docs">NetBIOS 
-        \83v\83\8d\83g\83R\83\8b\82Æ\96¼\91O\89ð\8c\88\95û\8e®\82Ì\90à\96¾</a> - <code>NetBIOS.txt</code> 
-      <li><a href="/swat/ja/help/PRINTER_DRIVER.txt.html" target="docs">\8b¤\97L <code>PRINTER$</code> \82Ì\83T\83|\81[\83g</a> - <code>PRINTER_DRIVER.txt</code> 
-      <li><a href="/swat/ja/help/PROFILES.txt.html" target="docs">\83\86\81[\83U\81E\83v\83\8d\83t\83@\83C\83\8b\82É\82Â\82¢\82Ä\82Ì\8bc\98_</a> - <code>PROFILES.txt</code> 
-      <li><a href="/swat/ja/help/Passwords.txt.html" target="docs">\83p\83X\83\8f\81[\83h\82É\82Â\82¢\82Ä\82Ì\92\8d\88Ó</a> - <code>Passwords.txt</code> 
-      <li><a href="/swat/ja/help/README.smbmount.txt.html" target="docs">SMBFS \97p\83}\83E\83\93\83g\83c\81[\83\8b\82É\8aÖ\82µ\82Ä</a> - <code>README.smbmount</code> 
-      <li><a href="/swat/ja/help/Speed.txt.html" target="docs">Samba \82Ì\90«\94\\82É\82Â\82¢\82Ä</a> - <code>Speed.txt</code> 
-      <li><a href="/swat/ja/help/Speed2.txt.html" target="docs">Samba <code>Speed.txt</code> \82É\91Î\82·\82é\83R\83\81\83\93\83g</a> - <code>Speed2.txt</code> 
-      <li><a href="/swat/ja/help/UNIX-SMB.txt.html" target="docs">UNIX \8aE\82É\82¨\82¯\82é NetBIOS \82É\82Â\82¢\82Ä\82Ì\98_\95¶</a> - <code>UNIX-SMB.txt</code> 
-      <li><a href="/swat/ja/help/UNIX_INSTALL.txt.html" target="docs">Samba \82Ì\83C\83\93\83X\83g\81[\83\8b\82Æ\83e\83X\83g\95û\96@</a> - <code>UNIX_INSTALL.txt</code> 
-      <li><a href="/swat/ja/help/security_level.txt.html" target="docs">SMB \83Z\83L\83\85\83\8a\83e\83B\81E\83\8c\83x\83\8b\82Ì\8eí\97Þ</a> - <code>security_level.txt</code> 
-      <li><a href="/swat/ja/help/WinNT.txt.html" target="docs">Samba \82Æ Windows NT \82Ì\83p\83X\83\8f\81[\83h\82Ì\88µ\82¢</a> - <code>WinNT.txt</code> 
-      <li><a href="/swat/ja/help/Win95.txt.html" target="docs">Windows 95 / 98 \82Æ Samba \82Ì\91\8a\8cÝ\89^\97p</a> - <code>Win95.txt</code> 
-      <li><a href="/swat/ja/help/Macintosh_Clients.txt.html" target="docs">\83}\83b\83N\82Å\93®\82­ Samba \83N\83\89\83C\83A\83\93\83g\82Í\82 \82è\82Ü\82·\82©?</a> - <code>Macintosh_Clients.txt</code>
-    </ul>
-</ul>
-
-<h3>\83t\83B\81[\83h\83o\83b\83N</h3>
-
-<p>\93ú\96{\8cê\89»\82É\8aÖ\82·\82é\82±\82Æ\82Í\81A <a href="http://www.samba.gr.jp/ml/#sugj-tech" target="docs">Samba\83e\83N\83j\83J\83\8b\83\81\81[\83\8a\83\93\83O\83\8a\83X\83g</a>\82Ü\82Å\82¨\8aè\82¢\82µ\82Ü\82·\81B</p>
+<h3>SWAT \82Ö\82æ\82¤\82±\82»!</h3>\r
+\r
+\8fã\82Ì\83{\83^\83\93\82ð\83N\83\8a\83b\83N\82µ\82Ä\90Ý\92è\82ð\8ds\82Á\82Ä\82­\82¾\82³\82¢\81B\r
+\r
+<h3><a href="/swat/help/samba.7.html" target="docs">Samba</a> \83h\83L\83\85\83\81\83\93\83g</h3>\r
+\r
+<ul>\r
+ <li><b>\83f\81[\83\82\83\93</b>\r
+   <ul>\r
+    <li><a href="/swat/help/smbd.8.html" target="docs">smbd</a> - SMB \83f\81[\83\82\83\93\r
+    <li><a href="/swat/help/nmbd.8.html" target="docs">nmbd</a> - NetBIOS \83l\81[\83\80\83T\81[\83o\r
+    <li><a href="/swat/help/winbindd.8.html" target="docs">winbindd</a> - winbind \83f\81[\83\82\83\93\r
+   </ul>\r
+ <li><b>\90Ý\92è\83t\83@\83C\83\8b</b>\r
+   <ul>\r
+    <li><a href="/swat/help/smb.conf.5.html" target="docs">smb.conf</a> - Samba \90Ý\92è\83t\83@\83C\83\8b\r
+    <li><a href="/swat/help/lmhosts.5.html" target="docs">lmhosts</a> - NetBIOS \82Ì hosts \83t\83@\83C\83\8b\r
+    <li><a href="/swat/help/smbpasswd.5.html" target="docs">smbpasswd</a> - SMB \83p\83X\83\8f\81[\83h\83t\83@\83C\83\8b\r
+   </ul>\r
+ <li><b>\8aÇ\97\9d\83\86\81[\83e\83B\83\8a\83e\83B</b>\r
+   <ul>\r
+    <li><a href="/swat/help/smbcontrol.1.html" target="docs">smbcontrol</a> - Samba \83f\81[\83\82\83\93\82Ö\82Ì\83R\83\93\83g\83\8d\81[\83\8b\83\81\83b\83Z\81[\83W\82Ì\91\97\8fo\r
+    <li><a href="/swat/help/smbpasswd.8.html" target="docs">smbpasswd</a> - SMB \83p\83X\83\8f\81[\83h\82Ì\8aÇ\97\9d\r
+    <li><a href="/swat/help/swat.8.html" target="docs">SWAT</a> - Web \90Ý\92è\83c\81[\83\8b\r
+    <li><a href="/swat/help/net.8.html" target="docs">net</a> - Samba \82¨\82æ\82Ñ\83\8a\83\82\81[\83g\82Ì CIFS \83T\81[\83o\82Ì\8aÇ\97\9d\83c\81[\83\8b\r
+    <li><a href="/swat/help/pdbedit.8.html" target="docs">pdbedit</a> - Samba \82Ì\83\86\81[\83U\83A\83J\83E\83\93\83g\8aÇ\97\9d\83c\81[\83\8b\r
+    <li><a href="/swat/help/tdbbackup.8.html" target="docs">tdbbackup</a> - TDB \83f\81[\83^\83x\81[\83X\82Ì\83o\83b\83N\83A\83b\83v\83c\81[\83\8b\r
+   </ul>\r
+ <li><b>\83N\83\89\83C\83A\83\93\83g\83c\81[\83\8b</b>\r
+   <ul>\r
+    <li><a href="/swat/help/rpcclient.1.html" target="docs">rpcclient</a> - \83R\83}\83\93\83h\83\89\83C\83\93\82Ì MS-RPC \83N\83\89\83C\83A\83\93\83g\r
+    <li><a href="/swat/help/smbtar.1.html" target="docs">smbtar</a> - SMB \83o\83b\83N\83A\83b\83v\83c\81[\83\8b\r
+    <li><a href="/swat/help/smbclient.1.html" target="docs">smbclient</a> - \83R\83}\83\93\83h\83\89\83C\83\93\82Ì SMB \83N\83\89\83C\83A\83\93\83g\r
+    <li><a href="/swat/help/smbmnt.8.html"  target="docs">smbmnt</a> - Linux \8fã\82Ì SMB \83t\83@\83C\83\8b\83V\83X\83e\83\80\82ð\83}\83E\83\93\83g\82·\82é\8dÛ\82Ì\95â\8f\95\83c\81[\83\8b\r
+    <li><a href="/swat/help/smbmount.8.html"  target="docs">smbmount</a> - Linux \82É\82¨\82¯\82é SMB \83t\83@\83C\83\8b\83V\83X\83e\83\80\82Ì\83}\83E\83\93\83g\82ð\8eÀ\8c»\82·\82é\83\86\81[\83U\8bó\8aÔ\82Ì\83c\81[\83\8b\r
+    <li><a href="/swat/help/smbspool.8.html"  target="docs">smbspool</a> - \83R\83}\83\93\83h\83\89\83C\83\93\82Ì SMB \88ó\8dü\83N\83\89\83C\83A\83\93\83g\r
+    <li><a href="/swat/help/smbumount.8.html"  target="docs">smbumount</a> - Linux \82É\82¨\82¯\82é SMB \83t\83@\83C\83\8b\83V\83X\83e\83\80\82Ì\83A\83\93\83}\83E\83\93\83g\82ð\8eÀ\8c»\82·\82é\83\86\81[\83U\8bó\8aÔ\82Ì\83c\81[\83\8b\r
+    <li><a href="/swat/help/ntlm_auth.1.html" target="docs">ntlm_auth</a> - \95Ê\83v\83\8d\83O\83\89\83\80\82©\82ç\82Ì NTLM \94F\8fØ\82Ì\8eg\97p\82ð\8eÀ\8c»\r
+    <li><a href="/swat/help/smbcquotas.1.html" target="docs">smbcquotas</a> - NTFS 5 \8b¤\97L\82Ì\83N\83H\81[\83^\8fî\95ñ\82Ì\90Ý\92è\82Æ\8eæ\93¾\r
+    <li><a href="/swat/help/smbsh.1.html" target="docs">smbsh</a> - UNIX \83V\83F\83\8b\82ð\97p\82¢\82½\83\8a\83\82\81[\83g SMB \8b¤\97L\82Ö\82Ì\83A\83N\83Z\83X\82ð\8eÀ\8c»\r
+    <li><a href="/swat/help/smbtree.1.html" target="docs">smbtree</a> - \83e\83L\83X\83g\83x\81[\83X\82Ì SMB \83l\83b\83g\83\8f\81[\83N\83u\83\89\83E\83W\83\93\83O\r
+    <li><a href="/swat/help/smbspool.8.html" target="docs">smbspool</a> - \88ó\8dü\83W\83\87\83u\82ð SMB \83v\83\8a\83\93\83^\82É\91\97\90M\r
+   </ul>\r
+ <li><b>\90f\92f\83\86\81[\83e\83B\83\8a\83e\83B</b>\r
+   <ul>\r
+    <li><a href="/swat/help/smbstatus.1.html" target="docs">smbstatus</a> - Samba \82Ì\8aÄ\8e\8b\r
+    <li><a href="/swat/help/testparm.1.html" target="docs">testparm</a> - \90Ý\92è\83t\83@\83C\83\8b\82Ì\90®\8d\87\90«\82Ì\8c\9f\8d¸\r
+    <li><a href="/swat/help/testprns.1.html" target="docs">testprns</a> - \83v\83\8a\83\93\83^\90Ý\92è\82Ì\8c\9f\8d¸\r
+    <li><a href="/swat/help/nmblookup.1.html" target="docs">nmblookup</a> - NetBIOS \96¼\82Ì\8c\9f\8dõ\83c\81[\83\8b\r
+    <li><a href="/swat/help/wbinfo.1.html" target="docs">wbinfo</a> - winbind \8fî\95ñ\82Ì\8eæ\93¾\83c\81[\83\8b\r
+   </ul>\r
+ <li><b>\82»\82Ì\91¼\82Ì\83\86\81[\83e\83B\83\8a\83e\83B</b>\r
+   <ul>\r
+    <li><a href="/swat/help/profiles.1.html" target="docs">profiles</a> - \95Ê\83h\83\81\83C\83\93\82Ö\82Ì\83v\83\8d\83t\83@\83C\83\8b\82Ì\88Ú\8ds\r
+    <li><a href="/swat/help/editreg.1.html" target="docs">editreg</a> - Windows \83\8c\83W\83X\83g\83\8a\83t\83@\83C\83\8b\82Ì\95Ò\8fW\r
+    <li><a href="/swat/help/log2pcap.1.html" target="docs">log2pcap</a> - Samba \82Ì\83\8d\83O\83t\83@\83C\83\8b\82©\82ç pcap \83t\83@\83C\83\8b\82Ì\90\90¬\r
+   </ul>\r
+ <li><b>\8f\91\90Ð</b>\r
+   <ul>\r
+    <li><a href="/swat/using_samba/toc.html" target="docs">Using Samba \91æ\93ñ\94Å</a> - \92\98\8eÒ: Jay Ts, Robert Eckstein, David Collier-Brown\r
+    <li><a href="/swat/help/Samba-HOWTO-Collection.html">Samba HOWTO \83R\83\8c\83N\83V\83\87\83\93</a>\r
+   </ul>\r
+</ul>\r
\r
+ <h3>\83t\83B\81[\83h\83o\83b\83N</h3>\r
+\r
\82±\82Ì\83o\81[\83W\83\87\83\93\82Ì SWAT \82É\8aÖ\82·\82é\96â\91è\82É\82Â\82¢\82Ä\82Ì\8bc\98_\82ð\8ds\82È\82¢\82½\82¢\95û\82Í\81A\r
+ <A HREF="http://lists.samba.org/">samba</A> \83\81\81[\83\8a\83\93\83O\83\8a\83X\83g\82Ö\82Ì\8eQ\89Á\82ð\82¨\8aè\82¢\82µ\82Ü\82·\81B\r
+<small>(\82à\82µ\82­\82Í <A HREF="http://www.samba.gr.jp/ml/">sugj-tech</A> \83\81\81[\83\8a\83\93\83O\83\8a\83X\83g\82É\93ú\96{\8cê\82Å\82¨\8aè\82¢\82µ\82Ü\82·)</small>\r