Commit 99169885 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Directory rename fixed - the mask being passed by the rename routine didn't...

Directory rename fixed - the mask being passed by the rename routine didn't have the ATTR_DIR bit set.Discovered this after reading lots of the spec which is also now included here in /doc.

Copying files out of LanManFS filer "forgot" their filetype even though
they appeared right in the filer,fixed.
A stray debugging printf removed,along with one compiler warning.
New sprites (yuck) to match !Omni.
Reordered the shutdown in two places,first Omni_Shutdown bins the mounts
lists which SMB_Shutdown uses.Second in NetBEUI mode the announcement that
a protocol has terminated goes *after* the shutdown - otherwise you sit
around for about 20s wondering where the link has gone.

Version 2.25. Tagged as 'LanManFS-2_25'
parent fb9dd3be
No preview for this file type
/* (2.24) /* (2.25)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.68. * Last processed by srccommit version: 1.68.
* *
*/ */
#define Module_MajorVersion_CMHG 2.24 #define Module_MajorVersion_CMHG 2.25
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 16 Dec 2002 #define Module_Date_CMHG 16 Jan 2003
#define Module_MajorVersion "2.24" #define Module_MajorVersion "2.25"
#define Module_Version 224 #define Module_Version 225
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "16 Dec 2002" #define Module_Date "16 Jan 2003"
#define Module_ApplicationDate "16-Dec-02" #define Module_ApplicationDate "16-Jan-03"
#define Module_ComponentName "LanManFS" #define Module_ComponentName "LanManFS"
#define Module_ComponentPath "RiscOS/Sources/Networking/Omni/Protocols/LanManFS" #define Module_ComponentPath "RiscOS/Sources/Networking/Omni/Protocols/LanManFS"
#define Module_FullVersion "2.24" #define Module_FullVersion "2.25"
#define Module_HelpVersion "2.24 (16 Dec 2002)" #define Module_HelpVersion "2.25 (16 Jan 2003)"
#define Module_LibraryVersionInfo "2:24" #define Module_LibraryVersionInfo "2:25"
...@@ -341,7 +341,6 @@ static err_t Attr_GetInfoX2 ( char *filename, char *leafname, ...@@ -341,7 +341,6 @@ static err_t Attr_GetInfoX2 ( char *filename, char *leafname,
RISCOS_ATTRIBS *pRA ) RISCOS_ATTRIBS *pRA )
{ {
char *lastcomma; char *lastcomma;
if (Xlt_SplitLeafnameX2 ( leafname?leafname:filename, pRA, &lastcomma ) != OK) { if (Xlt_SplitLeafnameX2 ( leafname?leafname:filename, pRA, &lastcomma ) != OK) {
/* Something asked using a RISC OS name. Need to do a lookup /* Something asked using a RISC OS name. Need to do a lookup
* for the file. * for the file.
......
...@@ -344,8 +344,6 @@ static err_t Func_ReadFreeSpace ( int sixtyfourbit, char *name, int *R ) ...@@ -344,8 +344,6 @@ static err_t Func_ReadFreeSpace ( int sixtyfourbit, char *name, int *R )
_kernel_oserror *err; _kernel_oserror *err;
struct disk_size_response dsr; struct disk_size_response dsr;
printf("Read free space\n");
r.r[0] = 2; r.r[0] = 2;
r.r[2] = (int) &dsr; r.r[2] = (int) &dsr;
r.r[3] = (int) name; r.r[3] = (int) name;
......
...@@ -209,12 +209,12 @@ static void LM_GracefulClosedown(void) ...@@ -209,12 +209,12 @@ static void LM_GracefulClosedown(void)
{ {
if (LM_Vars.initialised == LMInitState_FullyInited) { if (LM_Vars.initialised == LMInitState_FullyInited) {
stopcallbacks(); stopcallbacks();
Omni_Shutdown(); SMB_Shutdown(); /* Dismounts all SMB mounts first as */
Omni_Shutdown(); /* Omni_Shutdown zeros the Mounts lists */
OmniS_ResourceShutdown(); OmniS_ResourceShutdown();
Prn_Shutdown(); Prn_Shutdown(); /* Free print jobs */
SMB_Shutdown(); NB_Shutdown(); /* Also calls LLC_Shutdown */
NB_Shutdown(); Buf_Shutdown(); /* Tell MBufManager we're done */
Buf_Shutdown();
LM_Vars.initialised = LMInitState_PreInit; LM_Vars.initialised = LMInitState_PreInit;
} }
} }
...@@ -224,12 +224,14 @@ _kernel_oserror * LM_Finalise (int fatal, int podule, void *pw) ...@@ -224,12 +224,14 @@ _kernel_oserror * LM_Finalise (int fatal, int podule, void *pw)
debug0("Finalise\n"); debug0("Finalise\n");
(void) fatal; (void) fatal;
(void) podule; (void) podule;
(void) pw;
lanman_announce_lanmanfs(protocolstatus_TERMINATING, pw);
/* Dismount all (NB.Before announcing we're done with the protocol) */
LM_GracefulClosedown(); LM_GracefulClosedown();
/* Tell the DCI driver the NetBEUI protocol is gone */
lanman_announce_lanmanfs(protocolstatus_TERMINATING, pw);
/* Now mark this filing system as gone */
LM_Undeclare(); LM_Undeclare();
return NULL; return NULL;
} }
...@@ -1259,6 +1261,7 @@ static void LM_check_protocol_status(_kernel_swi_regs *r) ...@@ -1259,6 +1261,7 @@ static void LM_check_protocol_status(_kernel_swi_regs *r)
* Inform our transport layer if we find it was Internet leaving. * Inform our transport layer if we find it was Internet leaving.
*/ */
const char *proto = (char *) r->r[4]; const char *proto = (char *) r->r[4];
if (r->r[2] == protocolstatus_TERMINATING && strcmp(proto, "Internet") == 0) { if (r->r[2] == protocolstatus_TERMINATING && strcmp(proto, "Internet") == 0) {
NB_InternetGone(); NB_InternetGone();
} }
......
...@@ -1765,7 +1765,7 @@ err_t SMB_Rename ( char *oldpath, char *newpath ) ...@@ -1765,7 +1765,7 @@ err_t SMB_Rename ( char *oldpath, char *newpath )
if ( pB == NULL ) if ( pB == NULL )
return EOUTOFMEM; return EOUTOFMEM;
SMB_TxWords[0] = ATTR_NORM; SMB_TxWords[0] = ATTR_NORM | ATTR_DIR; /* Permit both file and dir renaming */
return Do_SMB ( hS, SMBmv, 1, pB, NULL ); return Do_SMB ( hS, SMBmv, 1, pB, NULL );
} }
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
/* Magic value used to indicate an incomplete file - used by the Filer, /* Magic value used to indicate an incomplete file - used by the Filer,
* for example, when writing a new file * for example, when writing a new file
*/ */
static const int deaddead = 0xDEADDEAD; static const int deaddead = (int)0xDEADDEAD;
/* For the moment, untyped files have these invented load/exec addresses. /* For the moment, untyped files have these invented load/exec addresses.
* They ensure that if such a file is *Load'ed or *Run'ed, then a data * They ensure that if such a file is *Load'ed or *Run'ed, then a data
...@@ -1252,7 +1252,16 @@ err_t Xlt_SplitLeafnameX2 ( char *leafname, RISCOS_ATTRIBS *pRA, ...@@ -1252,7 +1252,16 @@ err_t Xlt_SplitLeafnameX2 ( char *leafname, RISCOS_ATTRIBS *pRA,
{ {
/* No ",ttt" was found,try the mimemap for ".ext" */ /* No ",ttt" was found,try the mimemap for ".ext" */
leafname = oldname; leafname = oldname;
term = strchr(leafname, '/'); /* This function can get called with "A:\dosname.txt" paths or "riscosname/txt" leafs */
if (leafname[1] == ':')
{
term = strrchr(leafname, '.'); /* strrchr catches names like "file.tar.gz" */
}
else
{
term = strrchr(leafname, '/'); /* strrchr catches names like "file/tar/gz" */
}
if (term != NULL) if (term != NULL)
{ {
/* A dot was found so try to lookup the dos style extension */ /* A dot was found so try to lookup the dos style extension */
......
...@@ -91,9 +91,9 @@ command-keyword-table: LM_Command ...@@ -91,9 +91,9 @@ command-keyword-table: LM_Command
LMNameMode(min-args:1, max-args:1, LMNameMode(min-args:1, max-args:1,
help-text: "*LMNameMode sets the way LanManFS capitalises names on DOS shares\r" help-text: "*LMNameMode sets the way LanManFS capitalises names on DOS shares\r"
"It does not affect long filename shares\r" "It does not affect long filename shares\r"
"Syntax:\t*LMNameMode [0|1|2]", "Syntax:\t*LMNameMode 0 | 1 | 2",
fs-command:, fs-command:,
invalid-syntax: "Syntax:\t*LMNameMode [0|1|2]\r", ), invalid-syntax: "Syntax:\t*LMNameMode 0 | 1 | 2\r", ),
LMLogoff(min-args:0, max-args:0, LMLogoff(min-args:0, max-args:0,
help-text: "*LMLogoff clears the workgroup and default user settings " help-text: "*LMLogoff clears the workgroup and default user settings "
...@@ -131,16 +131,16 @@ command-keyword-table: LM_Command ...@@ -131,16 +131,16 @@ command-keyword-table: LM_Command
LMTransport(min-args:0, max-args:1, LMTransport(min-args:0, max-args:1,
help-text: "*Configure LMTransport sets whether LanManFS should use " help-text: "*Configure LMTransport sets whether LanManFS should use "
"NetBEUI or TCP/IP as transport protocol\rSyntax:\t*Configure LMTransport [IP|NetBEUI]", "NetBEUI or TCP/IP as transport protocol\rSyntax:\t*Configure LMTransport IP | NetBEUI",
invalid-syntax: "Syntax:\t*Configure LMTransport [IP|NetBEUI]\r", invalid-syntax: "Syntax:\t*Configure LMTransport IP | NetBEUI\r",
configure:, configure:,
status:, status:,
), ),
LMNameServer(min-args:0, max-args:1, LMNameServer(min-args:0, max-args:1,
help-text: "*Configure LMNameServer <IP address> sets the address of a " help-text: "*Configure LMNameServer <IP address> sets the address of a "
"NetBIOS over IP nameserver for LanManFS to use\rSyntax:\t*Configure LMNameServer [IP address]", "NetBIOS over IP nameserver for LanManFS to use\rSyntax:\t*Configure LMNameServer <IP address>",
invalid-syntax: "Syntax:\t*Configure LMNameServer [IP address]\r", invalid-syntax: "Syntax:\t*Configure LMNameServer <IP address>\r",
configure:, configure:,
status:, status:,
), ),
......
This diff is collapsed.
...@@ -173,7 +173,7 @@ Err19 DCD Err_Base+19 ...@@ -173,7 +173,7 @@ Err19 DCD Err_Base+19
ALIGN ALIGN
Err20 DCD Err_Base+&B4 Err20 DCD Err_Base+&B4
DCB "Access not allowed", 0 DCB "Access denied", 0
ALIGN ALIGN
Err21 DCD Err_Base+21 Err21 DCD Err_Base+21
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment