SUPERCEDED Change Log for Samba ^^^^^^^^^^ Unless otherwise attributed, all changes were made by Andrew.Tridgell@anu.edu.au. All bugs to samba-bugs@samba.org. NOTE: THIS LOG IS IN CHRONOLOGICAL ORDER NOTE: From now on the cvs.log file will be used to give a complete log of changes to samba. This change-log is now obsolete. 1.5.00 announced to mailing list 1.5.01 1/12/93 - configuration through makefile only - fixed silly bug that made the client not accept dir's from the server - tested and updated include files for ultrix, aix and solaris - several things fixed thanks to pierson@ketje.enet.dec.com who provided invaluable help and advice. 1.5.02 1/12/93 - added username option to services file so connection as non guest from lanmanager is possible - made server abort when it can't read/write on a socket - added logging to client 1.5.03 2/12/93 - printing now works - fixed a minor bug to do with hidden and system attributes 1.5.04 2/12/93 - added reduce_name() call to fill in security hole. - cleanup up debug stuff a little 1.5.05 2/12/93 - fixed bug in reduce_name that affects services with base paths that have a soft link in them. 1.5.06 3/12/93 - used the reserved server field in the search status to hold the directory pointer. This allows lots of directories to be open at once by clients without stuffing things up. - preserved all the client reserved bytes in the search status in case they actually use them. Hopefully this will fix the annoying empty directory dir bug. (it does) 1.5.07 3/12/93 - fixed silly bug that caused volume ids to appear twice - fixed a wrote-too-few bug in smb_send() 1.5.08 3/12/93 - did the SMBsearch properly. It can now handle recursive searches. In order to keep the required dir info I encode the dirptr and the current dir offset (from telldir) into 5 bytes by using a table on the last 7 bits of the first byte. The first bit is always on as this byte must by != 0 This is all put in the "server reserved" search field. 1.5.09 5/12/93 - added a prototype nameserver. It's broken but can at least interpret incoming packets. - minor fixes to the server and client 1.5.10 5/12/93 - fixed silly unsigned/signed char bug that made dosshell noot see all files - added nmbd to Makefile 1.5.11 6/12/93 - made the volume label appear as the service name, rather than "Remote" - made the nmbd actually work (a little) for lanman for dos 1.5.12 7/12/93 - fixed broadcasting in the nameserver - the smbd now correctly sets the pid and uid - nmbd now seems to work enough to satisfy the MS client. 1.5.13 7/12/93 - fixed a silly bug that truncated filenames - added -B option to nameserver to specify bcast address - added -R option to nameserver to prevent name registering - fixed minor read() bug. Does this fix the "cmp" bug? 1.5.14 8/12/93 - fixed a bug in send_login() in the client. Thanks to tim.hudson@gslmail.mincom.oz.au for pointing this out. - changed name_mangle() to pad to minimum of 32 bytes with spaces - changed the returned buffer size in reply_connect() to not count the 4 byte length field. This fixes the "can execute" bug and the "comp" bug - once again re-wrote the directory pointer handling code. now "tree" works correctly 1.5.15 9/12/93 - fixed name mangle bug introduced in 1.5.14 which stopped nameserver from working 1.5.16 9/12/93 - arrgh. another silly bug in name_mangle() causes the client to die. 1.5.17 13/12/93 - some cosmetic cleanups to the code - changed make_connection not to lower case the password (thanks to bryan@alex.com) - fixed accept() bug not initialising in_addrlen (thanks to bogstad@cs.jhu.edu) - fixed cd bug in client.c (thanks to joergs@toppoint.de) - lots of fixes to the nameserver to read_socket and associated routines. It should now correctly reply to the originating address and use the correct broadcast. (thanks to troyer@saifr00.ateng.az.honeywell.com) - SVR4 patches from mark@scot1.ucsalf.ac.uk - changed the default BUFFER_SIZE to 0xFFFF 1.5.18 15/12/93 - minor fix to reply_printqueue() to zero data buffer array. - added print command to client. - fixed minor bug in cmd_put() in client where a handle could be closed without being previously opened. - minor cleanups to the client - minor solaris fixes from lonnie@itg.ti.com - SYSV, shadow password and dfree() fixes from mark@scot1.ucsalf.ac.uk - fixed reply_delete() to not delete read-only files - fixed infinite loop in reply_delete on "del ." Thanks to mark@scot1.ucsalf.ac.uk for pointing this out. - posix mode definitions and changes from mark@scot1.ucsalf.ac.uk 1.5.19 18/12/93 - another very minor fix to dfree(). - minor change to SVR4 makefile entry from rossw@march.co.uk - changed reply_open not to open directories, this fixes the "copy .." bug pointed out by mark@scot1.ucsalf.ac.uk - changed dos_mode() so it doesn't return hidden and system info on directories. - changed get_dir_entry() not to descend into proc/self under linux control this with the DONT_DESCEND define in includes.h - changed smb_setlen() to add in the SMB id. (thanks to troyer@saifr00.ateng.az.honeywell.com) - fixed minor bug in reply_dir() so it won't return a ACCESS_DENIED when searching a directory that is unreadable - removed second stat() from get_dir_entry() (speed up) - made null searches close the dirptr (fixes big filesystem problem) - fixed clean_name for cd .. (from magnus@axiom.se) 1.5.20 28/12/93 - added debug statement in case of SMBcreate with volid set (leefi@microsoft.com) - fixed a bug in dptr_close() so it sets the next_key to a better value, this fixes a annoying dir bug - LOTS of changes from jeremy@netcom.com (Jeremy Allison). This makes it possible to at least connect to a NT server with the client and also fixes up much of the socket/process code. This also includes stuff for compiling on a sun386 - got the client working with the Syntax server (a commercial smb-based server). This required a few minor changes so the xmit sizes were negotiated properly. - added support for OSF1, tested on a DEC3000/400 alpha. - fixed the ifconf support under ultrix 1.5.21 31/12/93 - minor cosmetic change to reduce_name() - changes for HPUX from ppk@atk.tpo.fi (Pasi Kaara) - minor fix to nameserver - revamped configuration file format. It now takes a Windows-style (.INI style) configuration file. See the file services for full details of the format. New files: loadparm.c, loadparm.h, params.c, params.h, testparm.c. Several changes to smb.h, local.h, server.c, Makefile. The services structure is no longer visible to the rest of the system. (Karl Auer) - added ability to specify a print command on a per service basis and globally via the configuration file. Also allows guest account to be specified in the configuration file. Made appropriate changes to server.c so that these data items are obtained from the config module rather than from hardcoded strings (though the hardcoded strings are still the source of the defaults). (Karl Auer) - renamed old-style configuration file to services.old (Karl Auer) - changed README to reflect new configuration details. (Karl Auer) - removed an item from the bugs wishlist (now supplied!) (Karl Auer) - protected smb.h against multiple compilation. (Karl Auer) - protected local.h against multiple compilation. (Karl Auer) - made config stuff do dynamic allocation - added "homes" capability - added create_mask to each service in config 1.5.22 3/1/94 - added "root dir" option for extra security - added -n option to client (useful for OS/2) - changed operation of -n to nameserver to be more useful - patches from Jeremy Allison (jeremy@netcom.com) fixing bug in set_message(), fixing up wait3() for SYSV, making cd check the path in the client, allowing fetching to stdin in client, and enhancing prompt in client to include directory. - made the -D become_daemon() actually detach from the tty. This may need tuning for different flavors of unix. - added "dont descend" option to each service to prevent infinite loops on recursive filesystems. - updated README to add "running as a daemon" and a simple smb.conf file. - HP/UX fixes from ppk@atk.tpo.fi - made lock calls only if opened with write enabled, as pointed out by gadams@ddrive.demon.co.uk 1.5.23 4/1/94 - minor fix to logging of data in receive_smb(). It used to miss the last 4 bytes of packets. - added the pid,uid and mid fields to the negotiation phase of the client. - made client able to print from stdin - added password on command line for client - created a sample printcap input filter "smbprint" - several fixes to client to work with OS/2 - added mput, mget, prompt and lcd to client 1.5.24 5/1/94 - a resend of 1.5.23 as I managed to not include the new prompt, mput and mget code. 1.5.25 7/1/94 - change -B on nameserver so it can override the broadcast address - minor changes to printing in client so OS/2 server can handle it. - fixed reply_access() where OK was not being initialised - added "max xmit" to global parameters. - changed create to open with O_RDWR instead of O_WRONLY - added printmode command to client - made help return extra help on a specified command in client - fixed return code in chkpath - added "recurse" and "lowercase" options to client - fixed some error codes from server - added -I option to client - fix for become_daemon() for HPUX from ppk@atk.tpo.fi - added "hosts allow" and "hosts deny" to server - added keepalives to server - added "access" feature to testparam - NetBSD patches from sreiz@aie.nl 1.5.26 8/1/94 - changed semantics of hosts access code to do more sensible defaults when either of "hosts allow" or "hosts deny" is blank - added the SO_KEEPALIVE option to configurations of sockets in the server - made some of the SVAL fns into macros to keep fussy compilers from complaining - fixed several null pointer bugs in check_access(). These bugs made 1.5.25 unuseable for many people. - fixed null pointer reference of lp_dontdescend() - reload services file after each new connection. 1.5.27 11/1/94 - fixed opening mode for reply_open() in server - patches from Jeremy Allison (jeremy@netcom.com) to support the "core+" protocol. The patches also inclued some other features, such as a new read_with_timeout() call (used by SMBreadbraw), and auto detection of the need to create a socket. - changed the default KEEPALIVE value to 0, as it caused problems with Lanmanager. - added tar capability to client when getting files - altered unix_mode() to return x bits for directories - fixed bug in trim_string() 1.5.28 12/1/94 - cleaned up the debug levels a little so debug level 1 is a practical level for general use - fixed a bug in add_a_service() where a freed pointer was referenced. Thanks to bryan@alex.com for finding the bug. - fixed bug in time structure handling in server and client. Thanks to bryan@alex.com for pointing out the bug. 1.5.29 15/1/94 - fixed a silly bug in reply_open(). Thanks to jeremy@netcom.com for pointing this out. - fixed debug levels in client to be more sensible - added raw read to client - added -B option to client - fixed several bugs in the client, mostly to do with the tar option - added -E option to client 1.5.30 16/1/94 - added lots of prototypes so compilers don't complain - fixed minor bug in reply_rename() (thanks to ppk@atk.tpo.fi) - added more support for LANMAN1.0 protocol. - added SESSION SETUP AND X call - added READ AND X call - added TREE CONNECT AND X call - added support for setbuffer for HPUX (thanks to ppk@atk.tpo.fi) 1.5.31 29/1/94 - added support for user level security in smbclient eg: smbclient "\\SERVER\SHARE" -U USERNAME%PASSWORD - added error message decode as per SMB File Sharing protocol extensions. (thanks to merik@blackadder.dsh.oz.au) - added selection masks to smbclient that recurse down directory tree. eg: mget *.* with recurse and mask *.c on will retrieve all *.c files in the tree. - patches for FreeBSD from kuku@acds.physik.rwth-aachen.de - changed reduce_name() to trim ./ from front of strings and / from back - fixed a nasty bug in trim_string(). - numerous small changes to lots of stuff that I didn't document while I was doing them. Sorry :-( - slightly updated sockspy - The following was done by Karl Auer (Karl.Auer@anu.edu.au) - added processing in configuration file of a [printers] section. Allows connection to any printer specified in /etc/printcap (or the file specified in the global parameter 'printcap name'). - added full processing of 'available' flag to configuration file. A service can now be 'turned off' by specifying 'available = no'. Of dubious utility. - added 'printcap =' parameter to [global] section in the configuration file. This allows the normal /etc/printcap to be bypassed when checking printer names for dynamic printer connections via [printers]. - added 'printer name =' parameters to both the [global] section and services sections of the configuration file. This allows the printer name only to be set, without having to specify an entire print command. - added some synonyms: 'writable' and 'write ok' have the opposite sense to 'read only'. 'public' may be used instead of 'guest ok'. 'printer' may be used instead of 'printer name'. 'printable' is the same as 'print ok'. 'root' may be used instead of 'root dir' or 'root directory'. - added lots more detail to the sample configuration file to take account of the above. - many minor fixes to internal documentation in the configuration sources. - also - Man pages! 1.5.32 3/2/94 - addition of smbd, smbclient and testparm man pages from Karl Auer - zombie process fix from lendecke@namu01.gwdg.de - added capability to nmbd to serve names available via gethostbyname(). 1.5.33 3/2/94 - fixed up getting of netmask so it works on more unix variants - added -N option to nmbd - changed GMT diff calculation. need to check it's right for lots of OSes - fixed a bug in read_and_X() and chain_reply() chaining now seems to work correctly 1.5.34 4/2/94 - fixed bug in client that meant it couldn't get/put files from WfWg - fixed a bug in the server that caused lpr to return -1 under sunos - fixed a few errors in the hosts allow section of the smb.conf.5 manual page and added examples 1.5.35 6/2/1994 - minor bugfix in reduce_name(). - changed width of "size" in client during a dir - patches for NEXT (among other things) from lendecke@namu01.gwdg.de - added -a switch to server, and made default action to append to log file - added deadtime options to [global] section for timing out dead connections to the smbd. - HPUX changes from Pasi.Kaara@atk.tpo.fi - made use of unsigned char more consistent - changed the way of getting the default username and host in the client - made LANMAN1 default to on in the client, off in server. Use -DLANMAN1=1 to make it on in both. - lots of casts and cleanups for various operating systems - changes to the Makefile from Karl to auto-instal the man pages - added a short history of the project to the distribution 1.5.36 15/2/94 - fixed minor bug in Debug() (thanks to Pasi.Kaara@atk.tpo.fi) - fixed bug in server.c so -a wasn't accepted. - minor fixes to the client - added hosts file to name server (-H option) - added -G option for groups to nameserver - cleanups and additions from Jeremy Allison, taking us closer to LANMAN1.0. In particular the locking code was cleaned up considerably. 1.5.37 16/2/94 - fixed bug introduced in 1.5.36 which disabled SMBcreate 1.5.38 18/2/94 - fixed get_broadcast() for ultrix (fix from iversen@dsfys1.fi.uib.no) - added automatic group registration - fixed bug in registration code - made nmbd work better with WfWg, and probably others - updated the man pages to include the new nmbd options. - minor updates to the README - fixed double log_out() in send_packet(). - fixed bug in smbclient so that "dir" didn't work correctly with pathworks - possibly fixed bug in server that led to "abort retry ignore" from pathworks client when doing a "dir". - changed behaviour of smbclient login slightly, to try a blank password in SMBtcon if the right password fails, and a session setup has succeeded. Some clients seem to use a blank one if a session setup has succeeded. - ISC patches from imb@asstdc.scgt.oz.au - the client now tries to do name registration using a unicast. Let me know if this helps anyone. - tried to add a "contributed" line to each OS in the Makefile. 1.5.39 18/2/94 - fixed silly C code that only worked with some compilers - fixed another silly bug in nameserv.c that caused it to seg fault 1.5.40 21/2/94 - removed the from (IP) message so people don't worry about 0.0.0.0, it's redundant anyway. - changed the client so the crypt key isn't printed - changed the structure of switch_message() to use a list of functions. This improves the debug info. - made SMBopen ignore supplied attribute as per X/Open spec - made SMBopen fail if file doesn't exist in all cases. Let me know if this breaks something. It is implied in the X/Open spec. This fixes the pkzip bug. - added dptr_demote() to replace dptr_close() to try and fix pathworks dir bug. This has the potential disadvantage of leaving lots of open file descriptors. - changed mask_match to disallow two .s in a name 1.5.41 2/3/94 - added "dfree command" global option to smbd to support an external "disk free" executable (typically a script). This gets around the problem of getting disk free info reliably on lots of systems. - added ffirst and fclose to client - simple SYSVR4 patch from mark@scot1.ucsalf.ac.uk - added better uid/gid reporting for debugging purposes - several changes to the logon procedure for the client, so hopefully it will connect correctly to a wider range of servers. - server should no longer crash if it can't open the debug file (thanks to MGK@newton.npl.co.uk) - added the THANKS file. 1.5.42 6/3/94 - lots of changes from Jeremy Allison, implementing more of the LANMAN1.0 protocol, and fixing a few bugs. - fixed delete bug, so hopefully wildcards are correct now - pcap changes from Martin Kiff so non-aliased printers in /etc/printcap are recognised - wrote announce file ready for 1.6 - re-wrote browse code in client (still doesn't work) - updates to man-pages from Karl Auer - made raw packet dumps mode 0600 and only if -dA is given - changed socket code to use utility functions in util.c 1.6.00 17/3/94 - made server always return to original directory (rather than /) - fixed bug in params.c that caused a seg fault if no parms in a section - minor clean ups for clean compile under solaris - solaris fix for running from inetd from Karl Auer - fixes for dfree() under solaris - minor changes that might help BSDI - changes to the Makefile, manual-pages and sample config file from Karl Auer - fixed dfree for Ultrix 1.6.01 19/3/94 - fixed setatr bug that allowed directories to be unusable 1.6.02 27/3/94 - added timestamps to connection message in log - added idle timeout of 10 minutes to name server - made HAVE_SYSCONF==0 the default in includes.h - made the client not register by default - ISC patches from imb@asstdc.scgt.oz.au - GetWd() cache code from Martin Kiff - rewrote the locking code in terms of fcntl() calls. - fixed "can't delete directory" bug - added code to close old dirptrs for duplicate searches - removed exchange_uids() and the access() call and replaced them. 1.6.03 28/3/94 - tried to clean up the time handling a little (local vs gmt time) - added debug level global to server config - added protocol level global to server config - added SMBecho command to server - included Karl Auers SMBGuide in the distribution. 1.6.04 31/3/94 - fixed time zeroing bug in smb_close and smb_setatr - re-wrote the username/password handling to be more flexible - added "guest only" service setting to smb.conf - updated man pages for new username/password handling - fixed parse bug in reply_tconX - improved error return code from tcon - several changes to fix printing from WfWg 1.6.05 2/4/94 - changed the name of the whole package to Samba - removed SMBexit call from client to stop exiting error message - added interpret_addr() call to replace inet_addr() so a hostname can be used whenever a IP is required 1.6.06 8/4/94 - added random tid choice to reduce problem of clients not detecting a server disconnection. - made client not report spurious time from CORE or COREPLUS server. - minor HPUX fix from gunjkoa@dep.sa.gov.au - turned off GETWD_CACHE until we track down a minor bug in it 1.6.07: 10/4/94 - added helpful error messages to connection failure in client. - fixed problem with mput in client - changed server to allow guest-only sesssetup messages with any password. Control this with GUEST_SESSION_SETUP in local.h. - minor change to session setup handling in make_connection() - added check for right number of \s in the client. - made the server not exit on last close if the deadtime is != 0 - added malloc and realloc wrappers. enable them with -DWRAP_MALLOC=1 - if smbd is started with a debug level of 10 or greater it creates a log file ending in the process number 1.6.08: 18/4/94 - updated the THANKS file - changes from marcel@fanout.et.tudelft.nl (Marcel Mol) for AMPM times and error report on connect(). - made the get_myname() routine discard any part after the first '.' - added a wrapper for free from Martin Kiff - added simpleminded code to handle trapdoor uid systems (untested) - added Martin Kiffs "paranoid" getwd code. - added default MAXPATHLEN if undefined of 1024 - made get_broadcast() continue to get netmask if it can't get broadcast (suggestion from Hannu Martikk) - replaced fchmod() calls with chmod() to satisfy some unixes 1.6.09: 4/5/94 - changed perror() calls to strerror() in server.c - fix for dfree on OSF1 from Maximilian Errath (errath@balu.kfunigraz.ac.at) - fixed server time reporting for protocol >= LANMAN1 - fixed TimeDiff() for machines without TIMEZONE or TIMELOCAL (thanks to Vesa S{rkel{ ) - added SYSV defs to AIX and HPUX to fix "memory" problem (actually a signal problem). - added version to client banner in log file - Ultrix patches from Vesa S{rkel{ - added ! command to client for executing shell commands - fixed ERRnofids bug in server - fixed name_equal bug (thanks to cjkiick@flinx.b11.ingr.com (Chris Kiick)) - wrapped gethostbyname() with Get_Hostbyname() to prevent case sensitive problems on name lookups - limit printer tmp filename to 14 chars (from Paul Thomas Mahoney ) - added ability to understand 64 bit file times (thanks to davidb@ndl.co.uk (David Boreham)) - added Gwt_Pwnam() wrapper to cover server case-sensitivity problems (suggestion from J.M.OConnor@massey.ac.nz (John O'Connor)) - changed the setuid() calls to try and work for more systems without breaking the ones it currently works for - added version number to usage() (suggestion from peter@prospect.anprod.csiro.au) - added "security=" option for share or user level security - allowed multiple usernames in "user=" field - changed display method for recursive dorectory listings - switched client to use long filenames where supported - added speed reporting to client transfers - several NT fixes to server from jra@vantive.com (Jeremy Allison) - ISC fixes from ptm@xact.demon.co.uk (Paul Mahoney) - fix to README from grif@cs.ucr.edu (Michael A. Griffith) - default netmask and broadcast from Ian A Young - changed default of is_locked() on fcntl() error. - fixed bug in read_with_timeout() that could cause a runaway smbd process. - fixed findnext bug for long filenames in client - changed default protocol level to LANMAN1 - change default reported security level to SHARE. - changed password_ok() so that if pwdauth() fails it tries with standard crypt. - added "translate" command to the client to do CR/LF translation for printing, and add a form feed at the end. (thanks to mh2620@sarek.sbc.com (Mark A. Horstman ) ) - added "locking=yes/no" toggle for each service - SCO unix patches from Heinz Mauelshagen (mauelsha@ez.da.telekom.de) 1.6.10: 7/5/94 - fixed important bug in readbraw/writebraw - added -A option to client - fixed delete bug on long filenames (untested). Thanks to Stefan Wessels - neatened up the byte swapping code 1.6.11: 3/6/94 - fixed bug in client in receive_trans2_response() that caused some strange behaviour with LANMAN2. - fixed some offset/alignment problems with lockingX (thanks to Jeremy Allison) - allow locking on O_RDONLY files. Thanks to Martin N Dey - fixed del bug in client thanks to paulzn@olivetti.nl (Paul van der Zwan) - fixed multiple user= bug thanks to MDGrosen@spectron.COM (Mark Grosen) - added translate ability for all files. Thanks to mh2620@sarek.sbc.com (Mark A. Horstman ) - mask out negative lock offsets. Thanks to bgm@atml.co.uk (Barry G Merrick) - more attempts to get the structure alignment better for some machines - cleaned up the machine dependencies a little - ISC fixes from Paul Thomas Mahoney - enabled printing with a SMBclose and SMBwrite for NT thanks to jkf@frisky.Franz.COM (Sean Foderaro) - SGI changes from Michael Chua - CLIX patches from cjkiick@ingr.com - NEXT2 and NEXT3_0 patches from Brad Greer (brad@cac.washington.edu) - BSDI changes from tomh@metrics.com (Tom Haapanen) - SCO patches from John Owens (john@micros.com) - fix psz bug in pcap.c (thanks to Karl Auer) - added widelinks option (global and per service). Suggestion from Karl Auer. Defaults to True. - made locking able to be global or local (default is give by global) - added check_name() to dir listings - added "packet size" option to globals. default to 32767. This "fixes" a WfWg bug (thanks to Karl Auer) - fixes for getattrE and setattrE and minor fix in util.c from Jeremy Allison. - Karl updated the man pages o be current - disabled writebraw and readbraw until a possible bug can be investigated further 1.7.00: 14/7/94 - added session_users list, to overcome problem of missing usernames in SMBTconX. - added term support to the client - added "default service" - fork for print so user is not root - added name mangling to 8.3 (rudimentary) - fixed bug in in_group() - changed to use gid in place of egid - fixed client connection to OS/2 (1.3 + lanman2.2) and long filenames - added patches from mcochran@wellfeet.com (Marc Cochran) these implement scope ids and fix some udp bugs. It means the -L option to nmbd now works. - made nmbd respond to incoming port rather than only 137 - made wide links refuse .. components - fixed "dir foo." bug to stop it showing "foo.???" - improved name mangling (added stack) - added valid FNUM check to most calls - fixed important do_put bug in the client - added magic scripts to the server - re-enabled getwd_cache code - added optional agressive password checking - removed dptr_closepath from SMBsearch to try and stop "dos for loop" bug - DGUX patches from ross@augie.insci.com (ross andrus) - updated the README and THANKS file. - added node status request to -L option of nmbd - stripped trailing spaces in mask_match() (thanks to mike hench hench@cae.uwm.edu) - added COREPLUS style print queue reporting and "lpq command" in globals. - cleaned up date handling and fixed byte order dependancy on dates in SMBgetattrE. - cleaned up the password handling and added "password level" with the possability of checking all case combinations up to N upper case chars. - changed to use recvfrom only on udp ports (fixed read raw!) - added TCB password support for SCO (thanks to lance@fox.com) - updated README, THANKS and announce files. - fixed timezone reporting to be signed (thanks to noses@oink.rhein.de) - disabled max packet as it could cause problems with WfWg (no longer needed now readraw is "fixed") - changed from creat() to open() in mktemp and mknew. - changed umask handling - sped up nmbd by making it cache names - changed idle timeout on nmbd to 2 mins - Netbsd changes from noses@oink.rhein.de - released alpha2 - added name timeout to nmbd - changed bind port retry in nmbd - added Limitations sections to README - fixed two . in is_83() - fixed compilations warnings in util.c (thanks to njw@cpsg.com.au) - made [homes] honour multiple user list - fixed mask match bug introduced in alpha1 - added "mangled stack" option for stack size - added mangled stack promotion - released alpha3 - netbsd-1.0 fix for statfs(). - added null_string to util.c to reduce memory usage - changed the way directory structures are put together - added smbrun for system() requests - changed maxmux to 0 in hope of avoiding mpx commands problem - fixed zero response length for session keepalives - removed called name from session users list - added F_RDLCK support to try and handle locks on readonly files - made directory creation honour the lowercase flag in client (thanks to charlie@edina.demon.co.uk) - made checksum for mangling independant of extension if extension is lowercase - added ability to rename files with different extension, preserving root name - released alpha4 - better command line error checking in client - changed all debug statements to new format - fixed delete error code reporting - released alpha5 - added mangled name support to wildcard delete in server - fixed mask bug in SMBsearch - cleaned up prototypes - released alpha6 - fixed important bug in session_setup which made WfWg freeze (maxmux was 0 - this bug was introduced in alpha4) - released alpha7 - two printing bug fixes thanks to bgm@atml.co.uk (Barry G Merrick) - uid fix to smbrun (thanks to larry@witch.mitra.com) - man page updates from Karl Auer - FAQ file from Karl Auer - released alpha8 - fixed read-only flag in dos_mode() for non writeable services - fixed error code reporting in open() and openX(). - minor secureware fix from (thanks to lance@fox.com) - released alpha9 - casting cleanups for memcpy(). - cleaned up error code names to be more consistant 1.7.01: 17/7/94 - minor man page fix from baeder@cadence.com (Scott Baeder) - changed usage() error message in client - made nmbd not exit if can't register own name - made nmbd only register if running as a daemon - fixed stdout problem in smbrun by closing stdin/stdout/stderr - minor fix to lmhosts parsing 1.7.02: 20/7/94 - made nmbd not call get_broadcast if both -B and -N are used (thanks to Chris Woodrow ) - disabled GETWD_CACHE again - fixed INCLUDES list in Makefile to add version.h (thanks to jimw@PE-Nelson.COM (Jim Watt)) - made checkname do a become user if it hasn't already done so. - added consistancy check to become_user(). - removed mask extension expansion from SMBsearch - small change to chkpth - fix to snum select for lpq status (thanks to Rafi Sadowsky rafi@tavor.openu.ac.il) - changed daemon to is_daemon for NetBSD (thanks to noses@oink.rhein.de) - removed STAFS3 stuff for NETBSD_1_0 1.7.03: 29/7/94 - updated docs for new distribution structure - made getatr return 0 size for directories (thanks to Bernd Esser esser@pib1.physik.uni-bonn.de) - added valid dos filename checks from Stefan Wessels (swessels@cs.up.ac.za) - added trimming of . in hostnames to -S mode of nmbd - removed become_user() and OPEN_CNUM calls. Now make them in switch_message instead which simplifies a lot of code. - added GETFNUM macro to make chain_fnum more consistant and reliable. - added flags to protocol structures to simplify CAN_WRITE and AS_USER checking - added getwd cache boolean option to globals - added fclose() to lpq status routine thanks to dgb900@durras.anu.edu.au (David Baldwin) - added "only user" option, to limit connection usernames to those in the user= line - changed to badpath from badfile in chkpath despite specs (following what WfWg does). This fixes "file not found" error in copy command. Thanks to rwa@aber.ac.uk for pointing out the bug - changes for apollo from Stephen C. Steel - more changes for Apollo from jmi@csd.cri.dk (John Mills) - released alpha release - added FTRUNCATE_CAN_EXTEND=0 as default to fix problem with word6. Possibly not needed on many OSes? Thanks to Charlie Hussey charlie@edina.demon.co.uk - started adding max connections code - much improved group handling contributed by Ian Heath (ih@ecs.soton.ac.uk) 1.7.04: 29/7/94 - fixed one line bug in SMBopenX that got error code wrong. 1.7.05: 2/8/94 - added UNIXERROR() macro to get error code from unix errno. - fixed lpq status for MSTCPB3 - added @ option for user= line to lookup groups in group file - added become_user optimisation and process timeout (thanks to Jeanette Pauline Middelink (middelin@calvin.iaf.nl) - added malloc optimisation in readbraw - released alpha - patches for OSF1 enhanced security from Udo Linauer - made level 2 a more useful debug level (less guff) - added "max connections" and "lock dir" options to allow limiting of the number of connections to a service at one time. - released alpha2 - updated man pages - released alpha3 - added read prediction code for better read performance - released alpha4 - minor tuning to receive_smb() - changed the order of mangled stack checking - bug fix in read_predict(). - released alpha5 - minor search optimisation - fixed keep alive bug in writebraw and in readbraw in the client - released alpha6 - disabled writeraw by default pending a bug fix - added profiling code (off by default) - minor delete tuning 1.7.06: 4/8/94 - OSF1 crypt fix thanks to Udo Linauer - ifdef'd EDQUOT in case you don't have it (thanks to Paul Blackman ) - tidied up UNIXERROR stuff to work on more systems. - made Makefile more sophisticated and added "make revert" 1.7.07: 4/8/94 - fixed one line fatal bug in receive_smb. Thanks to bruce@pixar.com 1.7.08: 2/9/94 - initgroups call for SCO from lance@fox.com - code cleanups from cap@isac.hces.com (Simon Casady) - use full pathname in print command construction - ISC includes fix from Martin Tomes - added GID_TYPE define to cope with ultrix. Thanks to brad@cac.washington.edu - added umask call to main in server - fixed several minor problems with the max connections code. Thanks to lehmann@klizix.mpi-stuttgart.mpg.de (Arno Lehmann). - fixed filetime in writeclose. Thanks to Andreas Bahrdt <100321.2431@compuserve.com> - df fix for large disks from Andreas Bahrdt - getpwanam support from horn@mickey.jsc.nasa.gov - clean name change from Bernd Esser - released alpha1 - more locking changes to fix Excel problem - released alpha3 - another minor locking change - smarter masking in the locking code. Excel now apparently works. - minor FAQ updates - changed max connections refusal error to access denied. - added queue command to client to show the print queue - changed some print queue reporting stuff 1.8.0: 14/10/94 - added international chars to valid_dos_char(). Thanks to Daniel.Grandjean@dgr.epfl.ch - volume label fix - released alpha1 - important off by 4 fix in the server - readbraw size adaption in the client - released alpha2 - wait3 cast for NeXt fixed. Thanks to dbrandon@politics.tamu.edu. - man page fix for max xmit. Thanks to mmoore@wexford (Mike Moore) - is_8_3() fixes from Jochen Roderburg - list_match() fix from jkf@soton.ac.uk - statfs3 fix for BSDI from dan@supra.com - changed file open/close/read in server in preparation for mmap() based IO. - added mmap() support for reading files in the server. Optional at compile time. Thanks to suggestion from Roger Binns - mmap bug fixes - added __SAMBA__ name in nmbd - major changes for support of lanman2 and long filenames from Jeremy Allison (jeremy@netcom.com) - lseek optimisation. Thanks to Linus Torvalds. - released alpha4 - date patches for lanman2 from Jeremy Allison - added protocol aliases to handle WfWg (untested) - allow for zero params or data in reply_trans2 - small lanman2 patches from jeremy - more prototype additions for clean compilation - postscript patches from tim@fsg.com - more lanman2 patches from Jeremy - added null ioctl support - kanji patches from fujita@ainix.isac.co.jp - released alpha6 - disallowed null password access (thanks to Birger Kraegelin krg@iitb.fhg.de) - Makefile fix for ultrix from andrew@d2bsys.demon.co.uk (Andrew Stirling) - added per-service mangled names - totally re-vamped loadparm.c - added "mangling char" parameter - released alpha7 - added "default case = lower|upper" service option - change mangling char to a service parameter - ultrix enhanced security patch from steven@gopher.dosli.govt.nz - more changes to loadparm.c - printer name always set in [printers] - string_free() fix thanks to jef_iwaniw@pts.mot.com - changed group handling to be faster and work for large numbers of groups - added dynamic gid_t type determination - released alpha8 - fixed become_user() problem for services with invalid directories - added "invalid users" list on per service basis - fixed pointer problems in alpha8 (thanks to murnaghant@a1uproar.yuppy.rdgmts.MTS.dec.com) - fixed some date setting problems - trans2 fixes from jeremy to stop infinite directory listings of long filenames - "standard input" lpq patch from root@tlspu.demon.co.uk (Adrian Hungate) - changed password checking to check session list and validated ids before user list - split off password functions into password.c - added hosts equiv and rhosts code (thanks to Tim Murnaghan ) - released alpha11 - added "newer" command to the client - attempt at aix trapdoor uid workaround - released alpha12 - minor trans2 bugfix - added ufc crypt (fast crypt) support. Thanks to suggestion from forrest d whitcher - socket() fix for getting bcast and netmask thanks to Brian.Onn@Canada.Sun.COM - added beginnings of IPC and named pipe support in the server - changed file structure a bit, creating reply.c - finished print queue support for lanman1 - changed default protocol to LANMAN2 - released alpha13 - logged IPC connects at a higher debug level - added netgroup support to hosts equiv search - disallowed root access though hosts.equiv (thanks to Colin.Dean@Smallworld.co.uk) - kanji and password handling fixes from fujita@ainix.isac.co.jp - several bug fixes for lanman and other things from esser@pib1.physik.uni-bonn.de (Bernd Esser) - updated man pages, README and announce files. - released 1.8.00alpha1 - reply_close() time change fix from Andreas Bahrdt <100321.2431@compuserve.com> - added valid users list to compliment invalid users list. - aix fixes from tomc@osi.curtin.edu.au (Tom Crawley) - changed testparm output format - support for getting time from the server (nearly untested) - fixed device type error for wild device ???? - fixed groups problem when in 0 groups - more IPC fixups - added support for "net view \\server" command to list available services (like browsing) - released 1.8.00alpha2 - changed port choice for nmbd -L - added -L option to client to view share list on a host - bug fixes for NetShareEnum code - added "server string" option - changed default print file name to include remote machine name. - added hooks for browsing in nmbd - added browsing to nmbd - freebsd fixed from Steve Sims SimsS@Infi.Net - got rid of tell() - added subnet browsing with the S option in lmhosts - made smbd prime nmbd with a 1 byte dgram - added REUSADDR to open_socket_in() thanks to peter@ifm.liu.se 1.8.01: 18/10/94 - auto add group "LANGROUP" if no group specified in nmbd - made nmbd more responsive at startup - lots of cleanups and consistancy checks - added -C option to nmbd to set "machine comment". - fixed postscript option - force print_file in print_open() - restructured the browsing a little - casesignames fix for lanman-dos - auto-load home directory from session setup - changed to StrnCpy() for safety - fixed "out of file descriptors" bug in the client (a WfWg bug?) 1.8.02: 22/10/94 - fixed uppercase username problem - added "hide dot files" option - changed auto debug log in nmbd - added LMHOSTS to Makefile - added M flag in lmhosts to specify own netbios name - added "load printers" option to auto-load all printers - substitution of %p in lpq command - substitution of %h and %v in server string and -C option of nmbd - string substitions substitute all occurances of a pattern - added casesignames global option - fix for man pages thanks to David Gardiner - changed debug options a bit - added default for lpq command and lpr command - changed default shell path to /bin/sh - forced lpq under api to run as root - should speed things up - added "group" option to force group of a connection - added "read list" and "write list" options - added max mux option - seems to fix NT browsing? - added "mangled map" option thanks to Martin.Tomes@uk.co.eurotherm.controls - separated mangling functions into mangle.c - allowed all dos chars in mangled names - apollo changes from Helmut Buchsbaum - password changing code from Bob Nance it doesn't quite work yet, but it's a start (disabled by default) 1.8.03: 25/10/94 - made auto loaded services browsable as per default service so you can hide homes but keep home directories. - changed check_name() to handle "direct to network" printing - auto 3 minute deadtime if all connections are closed. This prevents restart when polling the print queue. - fix for newer command in client from Rich-Hoesly@uai.com - changed connection recording method - added the program smbstatus - changed timeout mechanism - "null passwords" option from Pim Zandbergen - made new files with casesignames=False set their case to the default case. - fixed problem of uppercasing first letter of printers in printcap - debug level fixes in trans2 from jimw@PE-Nelson.COM (Jim Watt) - made null printer default to lp 1.8.04: 27/10/94 - added OS2.txt from riiber@oslonett.no - another "auto services" fix. A silly strtok() bug :-( - fixed the status locking and max connections (broken in 1.8.03) - released alpha1 - added gets_slash so lines can be continued in smb.conf and lmhosts - browse list bugfix - default to "load printers=yes" - rewrote pcap.c - intergraph bugfix from tarjeij@ulrik.uio.no - changed properties flags in nmbd (to fix NT print browsing) - allowed very long lines in printcap parsing. 1.8.05: 28/10/94 - lanman2 fix from Jeremy 1.9.00: 22/1/95 - only add home if not already there. - added ulogoffX support - PTR_DIFF() cleanups - fixed a bug that caused STATUS..LCK to grow very large - changed mangling to handle names ending in . a little better - added "strip dot" option - SGI and setgroups() fix from bill@sg25.npt.nuwc.navy.mil - fixed password preservation in password_ok() (again?) - unink fix from emer@vssad.enet.dec.com (Joel S. Emer) - changed username part of spool filename to max 10 chars (from 6) - magic script fix from beverly@datacube.com (Beverly Brown) - reply_special() fix from Peter Brouwer - stopped nmbd from listening on 138. It didn't seem to help much. - clix fixes from ttj@sknsws61.sjo.statkart.no - fixed select behaviour under Linux - man page fix from Robin Cutshaw - ISC block size fix from ralf@rbsoft.sdata.de (Ralf Beck) - ISC fixes from Martin.Tomes@controls.eurotherm.co.uk - attrib bit fix in smbclient (pointed out by Rich-Hoesly@uai.com) - japanese extensions from fujita@ainix.isac.co.jp (Takashi Fujita) and ouki@gssm.otuska.tsukuba.ac.jp. - SCO patches from Stephen.Rothwell@pd.necisa.oz.au - changed the system commands to redirect stderr - changed default printername to service name for all print ops - added ability to delete print queue entries - added warning if you try to print without -P in smbclient - INTERACTIVE patches from cardinal@settimo.italtel.it - patch to handle spaces in group names from GJC@vax1.village.com (GEORGE J. CARRETTE) - lockingX fix from stefank@esi.COM.AU (Stefan Kjellberg) - some fairly radical changes to filename handling. We can now handle mixed case filenames properly - released alpha2 - added sysv printing support and improved bsd support - changed the user that does print queues and lprm jobs - return code support in the client from doylen@nbslib.isc-br.com (Doyle Nickless) - added "strict locking" option. Defaults to no. - added -I switch to nmbd - fixed DEV bug thanks to Dirk.DeWachter@rug.ac.be - use pw_encrypt() for shadow passords in Linux (from begemot@begemot.iko.kharkov.ua (Dmitry Gorodchanin)) - disabled read prediction by default - added varient handling code to ipc.c for printQ and printDel. - released alpha5 - AUX patches from root@dolphin.csudh.edu - struct timeval fix from gkb1@york.ac.uk - patches to merge ISC and INTERACTIVE from pim@cti-software.nl - changed to "printing =" - fixed problem with long print queues. - fixed node status request in nmbd to go to non bcast - made default path in services /tmp if not specified - added %u in passwd program - fixed up the password changing code for Linux - no guest sess setup when user level security - changed timeouts to kill dirptrs so cdroms can be unmounted - added auto-reload of smb.conf if changed - added SIGHUP to reload the config files - added -M option to nmbd to search for a master browser - added support for continue bit in trans2findnext - changed to dynamic strings in some more structures - changed default deadtime to 30 minutes - cleaned up the memory swapping code a bit - updated the man pages somewhat - added %m and %u in the "path=" of services - released alpha6 - simple testing and fixups for solaris, sunos, aix, ultrix and osf/1 (this is all I have access to). - fixed chdir bug - added hashing to cnum selection - released alpha7 - fixed printing bug - reduced chance of "hung" smbd with dead client - fixed do_match() bug (recently introduced) - released alpha8 - nameserver fix from W.J.M.vGeest@et.tudelft.nl (W.J.M. van Geest) - rewrote readbraw to try and overlap reads with writes - client optimisations - rewrote getwd cache and enabled it by default - added partial smb packet reads (hopefully faster writes) - added log file and log level options (with subs) - added "read size" option - tried setting some more socket options - can use subs in "config file=" and will auto-reload - added "include" options, with some subs - finally got print manager working with NT - auto-respond in nmbd to non-broadcast (auto WINS server, no -A needed) - released alpha10 - auto-delet unused services when reloading - fixed auto-deletion - fixed long names in printing - fixed double loading of services file - added printer file name support - reformatted man pages for better www conversion - renamed to 1.9.00. - added support for RNetServerGetInfo and NetWkstaGetInfo API's - updated the docs a bit - released alpha1 - added -M - - changed nmbd announce interval to 10 mins in outgoing packets - hopefully fixed idle timeout reconnects - strupper all command lines in nmbd - added %a substitution for "remote architecture" - added "Samba" protocol (same as lanman2) - added "security = SERVER" - released alpha2 - lowercase password fix - fixed connect path length bug (thanks to JOHN YTSENG ) - added subs on "password server". - fixed printing filename bug from smbclient - disk quotas and hpux printing support from Dirk.DeWachter@rug.ac.be - Makefile patches from pappinm@ayr_srv2.nth.dpi.qld.gov.au - AFS patches from Mike Allard (mgrmja@nextwork.rose-hulman.edu) - fixed grp name = server name problem - man page updates from Charlie Brady (charlieb@budge.apana.org.au) - fixed file search bug by adding "finished" flag - added "max log size". Suggestion from Mark Hastings - released alpha3 - changed the read/write routines to handle partial read/writes - released alpha4 - changed "guest account" to per-service - changed so "guest ok" allows access to the guest account, not the "user=" line - changed default readsize to 2048 - try bind to 137 in nmbd if possible - added server lookup to -L option in smbclient (gets list of servers) - added -M switch to smbclient for sending winpopup messages - released alpha5 - FAQ updates from Paul Blackman ictinus@lake.canberra.edu.au 1.9.01: 23/1/95 - changed comment in print Q info to service rather than server comment - fixed smbclient -L to NT when in user level security mode - hopefully finally fixed NT print manager problems - added informative messages during smbclient -M - added node status replies to nmbd - changed the lock offset fixup calculation to be more friendly to dumb lockd daemons. - added sigbus and sigsegv handlers to catch any silly errors and print a message - added message receipt to smbd and "message command =" option 1.9.02: 25/1/95 - added argv/argc mangling for people who start the server the wrong way. - some man page updates - added "revalidate" option - added hosts allow/deny access check to messaging access - added timeouts in the client - added check for existance of smbrun binary - man page updates from Colin.Dean@Smallworld.co.uk - freebsd patches from dfr@render.com - added mask sanity check in SMBsearch - added more useful substitutions (%S, %P, %I and %T) - added "exec =" option to execute commands on each connection 1.9.03: 13/3/95 - added "socket options" option - close base fd's (0,1 and 2) - use dup(0) for inetd operation - better detection of is_daemon - hopefully finally fixed silly put bug that gave the wrong date on files. - fixed segv in readbraw bug - added improved checing for invalid (or null) print file name - several patches from ad@papyrus.hamburg.com (Andreas Degert) - fixed slow logout bug in smbclient - fixed automounter problems - added subs on lock dir - BSDI patch from John.Terpstra@Aquasoft.com.au - added separate nmb and smb logfile entries in the Makefile - fixed return code error in open calls - added simple status display of printer in lpq parsing - rewrote the directory handling to avoid seekdir (added dir.c) - added uid=65535 check (thanks to grant@gear.torque.net) - enhanced transfer_file() to add header (used in readbraw) - reply_special bugfix from ferret@pc8871.seqeb.gov.au - added HAVE_PATHCONF - RiscIX patches from Jim Barry and Charles Gay-Jones - CLIX patches from ttj@sknsws61.sjo.statkart.no - fixed aix lpq parser from kvintus@acd.com - added substitutions to "include=" - M88K_S3 patches from tonyb@plaza.ds.adp.com (Tony D. Birnseth) - fixed mangled stack problem - added code to handle broken readdir() setups on solaris - initgroups() fix from jarit@to.icl.fi - dgux dfree fix from listwork@cloud9.net - dnix support from Peter Olsson - getgrgid() patch from tpg@bailey.com (Tom Gall) - Makefile patch from obrien@Sea.Legent.com (David O'Brien) - password changing fixes from Dirk.DeWachter@rug.ac.be - minor man page updates - tried to enhance the read prediction code a little bit 1.9.04: 16/3/95 - a bit better handling of global include lists - fixed GSTRING bug in loadparm.c (affected "socket options =") - fixed broken lpq parsing code (recent bug). Thanks to Dirk.DeWachter@rug.ac.be 1.9.05: 20/3/95 - improved mget in client to take multiple arguments and default to *.* - socket option fixes for both nmbd and smbd - changed the byteorder handling scheme to be more portable (and faster) - lint cleanups from kast@kcs.planet.net (Robert Kast) - added crude segv, sigbus and sighup recovery to nmbd - rewrote lanman2_match to be closer to NT and WfWg behaviour - Cray support from velo@sesun3.epfl.ch (Martin Ouwehand) - "admin users" patch from Tim Leamy - released alpha1 - added samba.7 man page - no chdir when doing non AS_USER protocols - become_guest() returns true in trapdoor uid system - added more sophisticated segv/sigbus reporting (Linux only) - released alpha2 - minor code cleanups (output of -Wall) - smbprint fix from James Dryfoos - improved testparm a little - updated INSTALL.txt a little 1.9.06: 21/3/95 - added %S substitution to users, valid users and invalid users. This is useful for [homes]. - split off printing routines into printing.c and more dir commands into dir.c - postexec patch from jpm@gin.Mens.DE (Jan-Piet Mens) - smbstatus updates from jpm@gin.Mens.DE (Jan-Piet Mens) - reload sighup after use - fixed name ptr offset bug - added %f in print commands - fixed byte ordering in nmbd which caused browsing to fail in 1.9.05 1.9.07: 22/3/95 - important directory listing fix - allowed path= in [homes] section - printer status patches from Dirk.DeWachter@rug.ac.be 1.9.08: 24/3/95 - fixed . and .. in root dir for lanman2 - better default comment in [homes] - added time stamping to directory entries - check directory access at connection time - rlimit code from loebach@homer.atria.com (Thomas M. Loebach) - fixed home dir default comment - totally rewrote dptr handling to overcome a persistant bug - added [globals] as well as [global] 1.9.09: 30/3/95 - fixed static string bug in nmbd - better null password handling - split CFLAGS in Makefile - fixed typo in smbclient messaging - made home dir not inherit path from [global] - standard input printing patch from xiao@ic.ac.uk - added O_CREAT to all print opens (bug in Win95) - use /proc for process_exists under Linux and solaris - fixed another segv problem in readbraw - fixed volume label problem - lots of changes to try and support the NT1 protocol - released alpha1 - fixed session setup bug with NT in NT1 protocol - released alpha2 - fixed "get" bug in smbclient that affected NT3.5 - added SO_KEEPALIVE as a default socket option in smbd - changed some error codes to match those that NT 3.5 produces - updated trans2 with some new calls for Win95 and WinNT (better long file support) - released alpha3 - fixed "nmbd -D -b" timeouts - added IS_LONG_NAME flag to getattr in NT1 - added the NT qfileinfo trans2 commands - merged qpathinfo with qfileinfo - changed idling technique to try and be more friendly to clients - merged setfileinfo with setpathinfo and updated them with the NT fns - improved read prediction a lot - added read prediction to readbraw - improved fault reporting (last packet dump) 1.9.10: 30/3/95 - fixed read prediction+readbraw bug for read/write files 1.9.11: 9/4/95 - fixed trans2 qpathinfo bug - fixed bug with % in service name when doing print queue requests - default readsize now 16K - minor read prediction changes - fixed status initialisation in print queue reporting - fixed const compile problem for hpux - minor SMBread fix from Volker Lendecke - removed space after -P in print commands (for fussy systems) - disabled level2 of setfilepathinfo - changed to a single read dir model, saving all dir names in the Dir structure - disabled NT protocols in the client due to reported problems - fixed QUERY_FS_VOLUME_INFO which caused Win95 to hang on drive properties - minor lseek bug fix - fixed up keepalives - new timezone handling code (hopefully better!) from steve@qv3pluto.LeidenUniv.nl - BSDI interface patch from jrb@csi.compuserve.com - gettimeofday changes from Roger Binns - added smbrun option - added "root preexec" and "root postexec" options 1.9.12: 12/4/95 - hopefully fixed some recently introduced NT problems - fixed a unlink error code problem - minor testparm fix - fixed silly error messages about comments in config files - added "valid chars" option for other languages 1.9.13: 28/4/95 - patches from David O'Brien (obrien@Sea.Legent.com) improving the netgroup suport, and adding the "map archive" option, as well as other minor cleanups. - tried to add info level 3 and 4 support for OS/2 - default deadtime set to 0 as in docs - cleaned up the trans2 code a little - cleaned up the Makefile a little - added charset.c and charset.h - expanded "valid chars" option to handle case mapping - lots of changes to try and get timezones right - released alpha1 - win95 fixups - released alpha2 - added %H substitution (gives home directory) - nameserv.c cleanups and minor bug fixes - redid the browse hook logic - fixed daylight saving time offset for logfile messages - added name cacheing to nmbd - added send counts to node status in nmbd - added STRICT_TIMEZONES compile time option (very computationally expensive) - removed the partial read code - cleaned up the permission checking a lot - added share modes (DENY_READ, DENY_WRITE, DENY_ALL, DENY_NONE, DENY_FCB and DENY_DOS) - added "share modes" option - cleaned up the file open calls - released alpha4 - fixed important one line bug in open_file() - trans2 client fix from lendecke@namu01.gwdg.de - netgroup patche from David O'Brien (obrien@Sea.Legent.com) - case sensitive fix from lenneis@statrix2.wu-wien.ac.at (Joerg Lenneis) - got long filenames working from Win95 dos prompt - added "workgroup=" option - added "username map" option including multiple maps, group maps etc - fixed password server for NT1 protocol and made it more robust - changed unix_mode() to add IWUSR to read-only directories. This is much closer to what clients expect. - added preservation of unused permission bits when a chmod() is called from a client. - made static those fns that could be - fixed typo in access.c (thanks to Andrew J Cole ) - added %d substitution for process id (thanks to lenneis@statrix2.wu-wien.ac.at (Joerg Lenneis)) - changed share error code to ERRbadshare - added locked files list to smbstatus if share modes is enabled - changed DENY_DOS to allow read by other tasks - added shared_pending checks to server - preserverd all possible permission bits during a chmod, and fixed a trans2 chmod bug - open /dev/null to use up first 3 fds, in an attempt to stop rogue library routines from causing havoc - fixed NT username problem when in server security - added "force user" and "force group" options - cleaned up some of the IPC calls a bit - added writeraw to the client and cleaned up write raw in the server - osf1 big-crypt bugfix from Udo Linauer - hopefully better disk-full checking - next uid bugfix from patrick@graphics.cornell.edu - changed share modes so lock directory doesn't need to be world writeable - enabled write-raw by default - added server_info() in client - added level checks in some ipc calls - added defines for the important timeouts in local.h - added print queue deletion to smbclient (untested) - removed the sysconf() calls - optimised writebraw a bit - fixed some file deletion problems - added total_data check for extended attribs in trans2 (for OS/2) - fixed broadcast reply bug in nmbd - added careful core dumping code - added faster password level searches (suggestion by lydick@cvpsun104.csc.ti.com (Dan Lydick)) 1.9.14: 22/9/95 - fixed up level 3 and 4 trans2 requests for OS/2 - minor optimisations in a few places - cleaned up the closing of low fds a bit - added SO_REUSEADDR to socket as a daemon - override aDIR bit for directories in dos_chmod() - SGI5 fixes from ymd@biosym.com (Yuri Diomin) - bsize sanity check and removed sunos force to 1k - force the create mode to be at least 0700 - SCO and freebsd include changes from Peter Olsson - check with FQDN in access.c (thanks to Arne Ansper ) - default broadcast for dnix from Peter Olsson - solaris patches from Ronald Guilmette - added EXDEV handling - small AFS Makefile patch from mgrlhc@nextwork.rose-hulman.edu - hopefully fixed the Win95 dates to work in other than my timezone - attempted alignment fixups (to speed up memcpy) - added some DCE/DFS support (thanks to Jim Doyle ) - added fix so that root doesn't have special privilages to open readonly files for writing (but admin users do). This fixes the MS office install problem. - fixed trans2 response bug in client - got dual names working for NT - enabled lock_and_read in NT protocol - added %L macro for "local machine" - changed dfree reporting to use "sectors per unit" - fixed "not enough memory" bug in MS print manger by limiting share name length in share enum. - "short preserve case" option from Rabin Ezra (rabin@acm.org) - added archive option to client - changed openX in client to be able to open hidden and system files - added "sync always" option - rewrote writebmpx and readbmpx - added auto string_sub_basic to all loadparm strings - lots of nmbd fixups (add registration, refresh etc) - released alpha1 - added smbtar patches from Ricky Poulten (poultenr@logica.co.uk) - added a lpq cache and the "lpq cache time" option - released alpha 2 - sun includes fix from Kimmo Suominen - change nmbd -L lookup type to workstation from server - added min print space option - added user and group names to smbstatus (thanks to davide.migliavacca@inferentia.it) - fixed %f in print command bug (thanks to huver@amgraf.com) - added wildcard support to SMBmv - misc patches from David Elm (delm@hookup.net) - changed default of "share modes" to yes - changed default of "status" to yes - aix qconfig parsing from Jean-Pierre.Boulard@univ-rennes1.fr - more long_date fixups - added wildcards to nmbd - extensive changes to ipc.c and miscellaneous other changes from ad@papyrus.hamburg.com (Andreas Degert). Should especially help OS/2 users - added name release to nmbd - relesed alpha4 - fixed "SOLARIS" to SUNOS5 in Makefile - several minor fixups to get it to compile on aix, osf1, ultrix, solaris and sunos - released alpha5 - minor bug fixes and cleanups in ipc.c - fixed "only user" bug - changed lpq to report guest queue entries as sesssetup_user to allow for deletion by windows - released alpha6 - added __SAMBA__ as type 0 in nmbd (was type 20) - fixed null print job bug - added 8 char warnings to testparm and smbclient - changed to 8 char limit for names in pcap.c - added linked list of config files to detect all date changes that require a reload - simplified pcap guessing heuristics - added space trimming to the name mapping - updated Get_Pwnam to add allow_change field for username mapping - fixed MemMove bug (thanks to mass@tanner.com (Massimo Sivilotti)) - released alpha7 - rewrote MemMove to be a little more efficient - ipc va_arg bug fix from djg@tas.com (Dave Gesswein) - added check for illegal chars in long filenames - fixed name cache init bug in nmbd - Convex patches from Victor Balashov - timestring() bugfix from staale@spacetec.no - changed %H to give path of forced user if one is set - added quoting to smbclient to allow spaces in filenames - convex and other patches from Ulrich Hahn - released alpha8 - fixed rename directory bug - nmbd wins fix from Maximilian Errath - client and AFS changes + password.c reorganisation + "more" and "pwd" commands in client from Todd j. Derr (tjd@smi.med.pitt.edu) - fixed several nmbd bugs - released alpha9 - fixed another "cd" bug in smbclient - password encryption from Jeremy Allison - added "passwd chat" option and chat interpretation code - added "smb passwd file" option - released alpha10 - cleaned up chgpasswd.c a little - portability changes to the encryption handling code - added password encryption to smbclient - fixed a share level security encryption bug - added "ENCRYPTION.txt" document - released alpha11 - added code to detect a password server loop - fixed typo in chkpath in client.c that broken cd (again) - LINUX_BIGCRYPT from marsj@ida.liu.se - AFS password fixup from jbushey@primenet.com (Jeffrey G. Bushey) - iso/8859-1 charcnv patches from Dan.Oscarsson@malmo.trab.se - strtok/user_in_list fix from roderich@nodebonn.muc.bmw.de - NETGROUP patches from J.W.Schilperoort@research.ptt.nl - trim_string patch from J.W.Schilperoort@research.ptt.nl - fixed problem with files with no extension getting mixed up - ipc bugfix for print job deletion from Rainer Leberle - released alpha12 - pwlen fix in NETGROUP from Andrew J Cole - lots of uid and encryption changes from Jeremy Allison. WinDD should now work. - released alpha13 - fixed max_xmit bug in client - select fix in server (fixed critical drive errors under ISC) - released alpha14 - wildcard fix from Jeremy - changes to make IPC code more robust - small select loop change to reduce cleaning of share files - vtp, altos and mktime patches from Christian A. Lademann - EEXIST bugfix in server.c - changed mangled map to apply in all cases - released alpha15 - fixed fcb open permissions (should mean apps know when a file is read only) - released alpha16 - client help formatting fix and docs fix from Peter Jones - added a directory cache - use /proc whenever possible for pid detection - TCSANOW fix in getsmbpasswd from roderich@nodebonn.muc.bmw.de - fixed default printing mode for sysv systems - make client always expand mask - more minor IPC fixups - pyramid makefile entry from jeffrey@itm.org - client fixups for passlen, maxvcs and session redirect from Charles Hoch - finally fixed important IPC bug (varargs bug with int16) - quota patches from Dirk.DeWachter@rug.ac.be - print queue cache changes (per service) and print queue priority additions from Dirk.DeWachter@rug.ac.be - new japanese patches (incomplete) from fujita@ainix.isac.co.jp (Takashi Fujita) - moved a lot more functions into system.c via wrappers - changed a lot of the connection refused error codes to be more informative (or at least different) - released alpha17 - changed error return code from cannor chdir() in make_connection - fixed realloc() bug in printing.c - fixed invalid username bug in sesssetupX - released alpha18 - made default service change name to asked for service (idea from Ian McEwan ) - fixed "guest only" bug - sambatar patches from Ricky - printing.c patches from Dirk.DeWachter@rug.ac.be - rewrote become_user() - sunos5 patch from Niels.Baggesen@uni-c.dk - more japanese extensions patches from fujita@ainix.isac.co.jp - released alpha20 - added force_user to conn struct 1.9.15: 14/11/95 - removed bcast override from workgroup announce in nmbd - aix patch, added NO_SYSMOUNTH, from lionel leston <102624.346@compuserve.com> - quick fix in lp_string() to try and stop some core dumps - added uid cache in connections structure to make user level security faster - changed dos_mode() to show read-only on read-only shares only if user w bit not set - added check to stop exit_server() looping - core dump fix in string_sub() - fix client bug for long dirs in NT1 mode. Thanks to Erwin Authried (erwin@ws1.atv.tuwien.ac.at) - switched to a safer (but probably slower) readbraw implementation - released p1 - readbraw fix from Stefaan.Eeckels@eunet.lu - fixed groups bug when user is in 1 group - fixed NT1 dir bug - changed default protocol in client to NT1 - changed trans2 to not return both names in long listing if long name is 8.3 - made stat of "" return RONLY if not writeable drive - wrapped strcpy() to stop nulls propogating (hack) - made rename and unlink look at share locks on file - clitar memory leak fix from jjm@jjm.com - added -p option to smbstatus to list smbd processes - added rename to the client - released p2 - fixed SMBmv for case where the destination exists - man page patch from michal@ellpspace.math.ualberta.ca (Michal Jaegermann) - once again redid the time handling, but finally explained what is going on, this is written up in TIME.txt. The "kludge-GMT" used by NT is a bastard and led to a lot of the confusion - kanji patch from fujita@ainix.isac.co.jp (Takashi Fujita) - is08859-1 patches from eauth@mail.cso.co.at - starting rewriting nmbd, new nmbd is nmbd2, old one still around for time being - released p3 - rewrote more of nmbd2 to use new structures - CLIX patches from Jason.J.Faultless@bechtel.btx400.co.uk - DirCacheFlush() bugfix from Michael Joosten . This bug explains a lot of the crashes. - fixed a bug in ChDir() that caused reversion to / in some situations - ipc fix from Magnus Hyllander - released p4 - smbpasswd fix from Jeremy - compilation fixes from Magnus Hyllander - added NetServerEnum to ipc.c (needed for master browser stuff) - Makefile fix from Gunther Mayer - cleanups for clean compile on several OSes - added browse mastering code - started integration with smb.conf for nmbd2 - released p5 - fixed death_time (should be t+ttl*3) - fixed non-removal of dead servers - added smbstatus -u patch from oskarh@spornet.is (Oskar Hannesson) - NETGROUP fix from J.W.Schilperoort@research.kpn.com - select and NO_SETGROUPS patches from lennylim@netcom.com (Lenny Lim) - added LINKS_READ_ONLY define in dos_mode() for LM/X compatability - "dir a.c" bug fixed thanks to roderich@nodebonn.muc.bmw.de (Roderich Schupp) - job cancel fix in client from peo@mtek.chalmers.se - changed nmbd2 to nmbd - fixed "dir a*" under trans2 lookups - added StrnCaseCmp() - updated docs a bit for new browsing stuff - updated INSTALL.txt - hopefully fixed server level security with WfWg 1.9.15 (patches): - major/minor fix for solaris from Jeroen Schipper - fixed critical bug in directory listings - released p1 - fixed one of the causes of "out of memory" while browsing - fixed manpage install script (Paul Blackman) - added DNS failures to name cache - fixed writebmpx bug (affects OS/2) - misc OS/2 fixes, mostly for EA handling - added SMBcopy - added "max ttl" option - arch detection patch from Bas Laarhoven - released p2 - another OS/2 fix - the level 4 getpathinfo for EAs - added "alternate permissions" option - changed client to parse destination names into name + domain - fixed problem with PrimaryGroup and lmhosts loading - added domain master ability to nmbd - added "domain master" option - added "domain controller" option and code - pwd fix to client from Erik Devriendt (de@te6.siemens.be) - fixed problem in smbmv that led to ar not working in mks - added transs2 - released p3 - updated email addresses - fix for innetgr from Olaf Seibert (rhialto@polder.ubc.kun.nl) - client translate fix from bandc@dircon.co.uk - netbsd bcast fix from from Olaf Seibert (rhialto@polder.ubc.kun.nl) - syslog code from Alex Nash - strip dot fix from Arne Ansper - added addtosmbpass + man page from michal@ellpspace.math.ualberta.ca (Michal Jaegermann) - pcap fix for AIX from Jon Christiansen - fixed servertype bug in remote announcements - fixed up illegal name checks (should also be faster) - kanji patches from fujita@ainix.isac.co.jp (Takashi Fujita) - fixed bug handling non-encrypted passwords - released p4 - fixed makefile for addtosmbpass - DCE/DFS fixes from John Brezak (brezak@ch.hp.com) - client patch for partial command matching from Andrew Wiseman - made is_8_3() handle full paths - rewrote open_file_shared() with help from Charles Hoch - changed syslog to handle interactive programs - fixed syslog problem with full path in argv[0] - illegal name fixup for kanji from fujita@ainix.isac.co.jp - fixed server level security to allow fallback to encryption - changed reply_read() and reply_lockread() to ignore clients smb_bufsize in order to handle broken lanman clients - fixed NT wildcard problem with old style programs - man page patches from "John M. Sellens" - partially documented the "character set" option - changed default for MAXDIR to 64 - changed default DPTR idle time to 120 - released p5 - QNX patches from eldo@invisa.satlink.net (Eldo Loguzzo) - made nmbd use the "max log size" option and changed log handling code a bit - sunos patches, remote protocol (%R) addition and arch detection changes to stop compiler warning from Timothy Hunt - fixed become_user() bug that led to incorrect permissions in some situations. - released p6 - is_8_3() fix from Charles Hoch - nmblib bugfix from gmk@mhcnet.att.com (George Kull) - aix pcap fix from Jon Christiansen - added explicit sig_pipe() in server.c - added domain logins option (not fully implemented) - added HAVE_GMTOFF code - got rid of PM_MAXLINE - minor client fix from goggi@eflir (Garšar Georg Nielsen) - added SIGCLD_IGNORE for HPUX (from Tor Lillqvist ) - OSF/1 lpq patch from scooter@GENE.COM (Scooter Morris) - NeXT patches from pmarcos@next.com (Paul Marcos) - dstdiff patch to stop infinite loop from Erwin Authried (eauth@cso.co.at) - password server option can now take a list of password servers - patches to let samba run on OS/2 from Jason Rumney - added domain logon and logon script suport - SCO openserver 5 patches from Scott Michel - Makefile changes from Marty Leisner - chgpasswd changes from Roman Dumych for SVR4 - GUEST_SESSSETUP change from David.Chappell@mail.cc.trincoll.edu - released p7 - moved SO_REUSEADDR before bind() (thanks to Thomas Bellman ) - added more flexible GUEST_SESSSETUP to local.h and restored pre-p7 behaviour as default - released p8 1.9.16: - Makefile fix from Marty Leisner - added %g and %G substitutions - changed IDLE_CLOSED_TIMEOUT to 60 - fixed the "admin user" status in domain logons - hpux 10 "trusted security" patches from David-Michael Lincke (dlincke@sgcl1.unisg.ch) - added nmb lookups to client from Adrian Hill - svr4 pause/resume printing patch from Brendan O'Dea (bod@tyndall.com.au) - fixed master announcement thanks to Luke Leighton - changed srcdir usage in Makefile to be friendly to more systems - NT4 alignment patches from Jeremy Allison (jra@vantive.com) - updated share mode code for new spec - minor client bugfix (for smbclient '\\\') - fix for level 260 when magling disabled. From Martin Tomes - SMBtranss2 fix for OS/2 from Jeremy Allison - profiles fixup from Timm Wetzel - man page updates from Dirk.DeWachter@rug.ac.be - nmbsync fix from Andy Whitcroft - Lynx patches from Manfred Woelfel - new smbtar stuff from Ricky - changed to share mode DENY_NONE for tar - fixed -D option of smbclient when in tar mode - added aARCH to open modes - added code to cope with select/read errors - fixed blank browse entries after smb.conf reread - integrated new browse stuff from Luke into ipc.c - added workgroup list to smbclient -L - improved archive attribute handling in close_file() and write_file() - smbtar fixes from Martin.Kraemer@mch.sni.de - Linux quota patch from xeno@mix.hsv.no - try to work around NT passlen2 problem in session setup - released alpha1 NOTE: From now on the cvs.log file will be used to give a complete log of changes to samba. This change-log is now obsolete. ========== todo: 64 bit longs and IP addresses may give problems with unsigned longs? set archive bit whenever file is modified?? fix man page dates reply only to own workgroup in server enum patch to compile with g++ and possibly solaris c++ nmbd needs to keep browse list uptodate by talking to the master if it loses an election as others may still think its a valid backup and use it to get lists. leftover lock files can end up belonging to non-smbd processes after a reboot. hosts allow in nmbd hosts allow cache add password command in smbclient drag long filename to samba under os/2 gives short name document max ttl option dup/close 0 for getopt? implement SMBmove ?? add option to print more info about locked files (full path, share name etc) very slow listing CD, perhaps because of order of stat and readdir or add masking to opendir? protocol drop back in client to avoid openX etc. handle exported fat drives to a long filename capable client add check for existance of lpq commands etc (use stat?) get rid of the silly +4 and -4 by removing NBT stuff write-only shares document cnvchar stuff allow smbd to serve user and group lists to win95 document homes behaviour with WinDD add "hide file = *.o" "hide dir = .Foo*" "show file = xx*" type options. ALLOW_PASSWORD_CHANGE only compiles/works on some systems weird foooooooo/open.exe bug on NT %a detection can't detect Win95 versus WinNT reverse mangled maps, so (*.html *.htm) works for new files. install problems with w95. could be some sort of race? more efficient Files[] structure to handle thousands of open files lpd stuff: Tony Aiuto (tony@ics.com) make max disk size local