1. 15 Jan, 1999 1 commit
    • Stewart Brodie's avatar
      Fixed logon behaviour against NT4 servers. · e332cf0f
      Stewart Brodie authored
        Added automatic bug detection code.
      Detail:
        NT4 servers use differently formatted buffer to response to the logon
          requests and this was confusing the code which only knew about the
          oldest format of this buffer.  The code now knows about all three
          different possible response formats and processes them all properly.
        Windows 95/98 servers contain a bug which cause them to reverse the
          order of the date and time fields in QPathInformation transactions.
          My earlier workaround for this was to always reverse the time/date
          pairs - which causes it to fail when talking to Windows NT servers.
          On the first QPathInformation request on a given share, the request
          is first done on the root directory, and then the (non-broken) dir
          search transaction is executed and the results compared to determine
          whether the server is broken or not.  This means that it should
          interwork with NT, 95, 98 and also with Samba (which has a build
          option for emulating this bug or not!)
        Transact2 processing code is now aware of the multiple response packet
          options and can cope with the server sending secondary responses.
        Directory search entry per call limiter re-introduced to prevent these
          from secondary responses occurring anyway as they are still a pain to
          process efficiently.
      Admin:
        Tested against Windows 98 and Windows NT 4.
      
      Version 1.87, 1.1.1.1.2.6. Tagged as 'LanManFS-1_87-1_1_1_1_2_6'
      e332cf0f
  2. 11 Jan, 1999 1 commit
    • Stewart Brodie's avatar
      First version which should contain everything required for full long filename... · 93866275
      Stewart Brodie authored
      First version which should contain everything required for full long filename support of SMB shares.
      
      Detail:
        Renaming works; setting filetypes results in a rename occurring;
        setting load/exec/attributes works - causing a rename where
        appropriate; creation of files to overwrite existing objects of
        different types causes old file to be deleted first.
      Admin:
        Tested briefly and everything seems happy both at the command-line
          and from the RISC OS Filer.  More thorough development testing can
          now commence properly.
      
      Version 1.87, 1.1.1.1.2.5. Tagged as 'LanManFS-1_87-1_1_1_1_2_5'
      93866275
  3. 08 Jan, 1999 1 commit
    • Stewart Brodie's avatar
      A few more battles have been won. War finally starting to go my way. · d7d9868e
      Stewart Brodie authored
      Detail:
        LanManFS now uses ,xxx type notation on long filename shares.
        Character mappings improved (necessary because Windows allows so
          many extra daft characters to appear in filenames) and one-to-many
          mappings for awkward charcacters in the RISC OS->DOS world have
          been added.
        Directory searching improved so that the wildcard matching can be
          done properly.  Only Microsoft could provide you an API call to
          discover information about a filename specified with wildcards and
          NOT tell you which filename it matched. :-/
        Things remaining unimplemented so far:
          Setting filetypes.
          Creating files with specific types
          Renaming.
        All those outstanding things relate to the work done by Attr_SetInfo
          which should be the final major piece of hacking required.
      Admin:
        Tested by connecting to a long filename share from both a RISC OS
          machine and a Windows NT machine.  All behaviour of the RISC OS
          machine has been verified against what the NT machine is seeing
          happening.  No surprises.  One-to-many character mappings are
          being matched correctly.
        Also tested using the Filer at the RISC OS end to navigate, run,
          and edit things on the remote share.
      
      Version 1.87, 1.1.1.1.2.4. Tagged as 'LanManFS-1_87-1_1_1_1_2_4'
      d7d9868e
  4. 14 Dec, 1998 1 commit
    • Stewart Brodie's avatar
      Another intermediate checkin now that *FileInfo works. I believe this means... · 28a6a425
      Stewart Brodie authored
      Another intermediate checkin now that *FileInfo works.  I believe this means that nearly all the core functionality is in place for long filename support.
      
      Detail:
        According to Microsoft's documentation, several of the file lookup type
          transactions return the file information in a common format buffer.
          However, what the docs fail to mention, is that in *some* of those
          commands, the time & date fields are reversed.  FindFirst2/FindNext2
          return "date, time, ...".  QPathInformation returns "time, date, ..."
          Grrr.
        There remains a problem with occasional "server error" results from
          some requests.  The reason for these is unknown ... the documentation is
          unhelpful, describing this as "non-specific error code".  Simply repeating
          the command often results in success, sometimes it has to be repeated a
          few times.
        Also fixed filename mapping which caused any 'x' characters at the remote
          server end to be mapped to 'c' at the RISC OS end(!)  This didn't affect
          it before because servers wouldn't return the old module any filenames
          which contained lower case letters (LanManFS used to make the characters
          lower-case itself if the appropriate name style mode was set).
      Admin:
        Tested - still seems to work.  Filename completion from LineEditor works
          nicely.  I can open and close files, and read data from them (*Dump
          used to test this).  *Cat, *Ex and *FileInfo all work.  *Dir works.
        Filename character translations to and from RISC OS format need to be
          verified.  The translation table DOS->RISC OS has been ripped out of
          the NFS module so should be pretty accurate.  The reverse mapping has
          not.
      
      Version 1.87, 1.1.1.1.2.3. Tagged as 'LanManFS-1_87-1_1_1_1_2_3'
      28a6a425
  5. 11 Dec, 1998 1 commit
    • Stewart Brodie's avatar
      First cut at long filenames in LanManFS. *Cat and *Ex work. · b7d80d6c
      Stewart Brodie authored
        Pretty much nothing else does.
      Detail:
        Now uses long filenames if available, and switches to the advanced
          SMB protocol and Transact2 commands to do work with long filenames.
      Admin:
        Work in progress.  End of week's work checkin point only.  Do not use.
      
      Version 1.87, 1.1.1.1.2.2. Tagged as 'LanManFS-1_87-1_1_1_1_2_2'
      b7d80d6c
  6. 04 Dec, 1998 1 commit
    • Stewart Brodie's avatar
      Implemented h/w multicast filtering. · 45acaef2
      Stewart Brodie authored
        Uses our DCI4 header file.
      Detail:
        Now uses DCI4 MulticastRequest SWIs to selectively receive NetBEUI specific
          multicast IEEE frames.
        LLC_AttachDriver now takes an additional multicast MAC address parameter
          which is automatically claimed when the frames are claimed.
        Uses sys/dcistructs.h instead of its private ancient DCI4.h.  Some of the
          constants are different (old header shifted some numbers into correct
          positions for various calls - notably FRMLVL_* definitions).  Code modified
          to use the proper macros to construct these constants.
      Admin:
        Build and tested briefly.  EHInfo reports MAR for IEEE frames has been set
          as expected, and *LanMan:LMLogon seems to work.
      
      Version 1.87, 1.1.1.1.2.1. Tagged as 'LanManFS-1_87-1_1_1_1_2_1'
      45acaef2
  7. 03 Dec, 1998 2 commits