@@ -406,7 +406,9 @@ static int SendPacketType(WOLFSSH* ssh, byte type, byte* buf, word32 bufSz);
406406static int SFTP_ParseAtributes_buffer (WOLFSSH * ssh , WS_SFTP_FILEATRB * atr ,
407407 byte * buf , word32 * idx , word32 maxIdx );
408408static WS_SFTPNAME * wolfSSH_SFTPNAME_new (void * heap );
409+ #ifndef NO_WOLFSSH_SERVER
409410static int SFTP_CreateLongName (WS_SFTPNAME * name );
411+ #endif
410412
411413
412414/* A few errors are OK to get. They are a notice rather that a fault.
@@ -902,6 +904,7 @@ static int SFTP_SetHeader(WOLFSSH* ssh, word32 reqId, byte type, word32 len,
902904 return WS_SUCCESS ;
903905}
904906
907+ #ifndef NO_WOLFSSH_SERVER
905908static int SFTP_CreatePacket (WOLFSSH * ssh , byte type , byte * out , word32 outSz ,
906909 byte * data , word32 dataSz )
907910{
@@ -925,6 +928,7 @@ static int SFTP_CreatePacket(WOLFSSH* ssh, byte type, byte* out, word32 outSz,
925928 }
926929 return WS_SUCCESS ;
927930}
931+ #endif /* !NO_WOLFSSH_SERVER */
928932
929933
930934/* returns the size of buffer needed to hold attributes */
@@ -1038,11 +1042,13 @@ static INLINE int SFTP_GetSz(byte* buf, word32* sz,
10381042}
10391043
10401044
1041- #ifndef NO_WOLFSSH_SERVER
1042-
10431045#if !defined(WOLFSSH_USER_FILESYSTEM )
10441046static int SFTP_GetAttributes (void * fs , const char * fileName ,
10451047 WS_SFTP_FILEATRB * atr , byte noFollow , void * heap );
1048+ #endif
1049+
1050+ #ifndef NO_WOLFSSH_SERVER
1051+ #if !defined(WOLFSSH_USER_FILESYSTEM )
10461052static int SFTP_GetAttributes_Handle (WOLFSSH * ssh , byte * handle , int handleSz ,
10471053 char * name , WS_SFTP_FILEATRB * atr );
10481054#endif
@@ -3402,7 +3408,9 @@ static int wolfSSH_SFTP_SendName(WOLFSSH* ssh, WS_SFTPNAME* list, word32 count,
34023408
34033409 return WS_SUCCESS ;
34043410}
3411+ #endif /* !NO_WOLFSSH_DIR */
34053412
3413+ #endif /* !NO_WOLFSSH_SERVER */
34063414
34073415int wolfSSH_SFTP_SetDefaultPath (WOLFSSH * ssh , const char * path )
34083416{
@@ -3423,6 +3431,7 @@ int wolfSSH_SFTP_SetDefaultPath(WOLFSSH* ssh, const char* path)
34233431 return WS_SUCCESS ;
34243432}
34253433
3434+ #ifndef NO_WOLFSSH_SERVER
34263435
34273436/* Handles packet to read a directory
34283437 *
@@ -3613,7 +3622,6 @@ int wolfSSH_SFTP_RecvCloseDir(WOLFSSH* ssh, byte* handle, word32 handleSz)
36133622
36143623 return WS_SUCCESS ;
36153624}
3616- #endif /* NO_WOLFSSH_DIR */
36173625
36183626/* Handles packet to write a file
36193627 *
@@ -4503,6 +4511,7 @@ int SFTP_RemoveHandleNode(WOLFSSH* ssh, byte* handle, word32 handleSz)
45034511}
45044512#endif /* WOLFSSH_STOREHANDLE */
45054513
4514+ #endif /* !NO_WOLFSSH_SERVER */
45064515
45074516#if defined(WOLFSSH_USER_FILESYSTEM )
45084517 /* User-defined I/O support */
@@ -4623,6 +4632,7 @@ int SFTP_GetAttributes(void* fs, const char* fileName, WS_SFTP_FILEATRB* atr,
46234632}
46244633
46254634
4635+ #ifndef NO_WOLFSSH_SERVER
46264636/* @TODO can be overridden by user for portability
46274637 * Gets attributes based on file descriptor
46284638 * NOTE: if atr->flags is set to a value of 0 then no attributes are set.
@@ -4677,6 +4687,7 @@ int SFTP_GetAttributes_Handle(WOLFSSH* ssh, byte* handle, int handleSz,
46774687 NU_Done (& stats );
46784688 return WS_SUCCESS ;
46794689}
4690+ #endif /* !NO_WOLFSSH_SERVER */
46804691
46814692#elif defined(USE_WINDOWS_API )
46824693
@@ -4786,6 +4797,7 @@ int SFTP_GetAttributes(void* fs, const char* fileName, WS_SFTP_FILEATRB* atr,
47864797 return WS_SUCCESS ;
47874798}
47884799
4800+ #ifndef NO_WOLFSSH_SERVER
47894801/* @TODO can be overridden by user for portability
47904802 * Gets attributes based on file descriptor
47914803 * NOTE: if atr->flags is set to a value of 0 then no attributes are set.
@@ -4837,6 +4849,7 @@ int SFTP_GetAttributes_Handle(WOLFSSH* ssh, byte* handle, int handleSz,
48374849
48384850 return WS_SUCCESS ;
48394851}
4852+ #endif /* !NO_WOLFSSH_SERVER */
48404853
48414854#elif defined(WOLFSSH_FATFS )
48424855
@@ -4905,6 +4918,7 @@ static int SFTP_GetAttributes(void* fs, const char* fileName,
49054918 return WS_SUCCESS ;
49064919}
49074920
4921+ #ifndef NO_WOLFSSH_SERVER
49084922static int SFTP_GetAttributes_Handle (WOLFSSH * ssh , byte * handle , int handleSz ,
49094923 char * name , WS_SFTP_FILEATRB * atr )
49104924{
@@ -4952,6 +4966,7 @@ static int SFTP_GetAttributes_Handle(WOLFSSH* ssh, byte* handle, int handleSz,
49524966 WOLFSSH_UNUSED (handleSz );
49534967 return WS_SUCCESS ;
49544968}
4969+ #endif /* !NO_WOLFSSH_SERVER */
49554970
49564971#elif defined(WOLFSSH_ZEPHYR )
49574972
@@ -4991,6 +5006,7 @@ int SFTP_GetAttributes(void* fs, const char* fileName, WS_SFTP_FILEATRB* atr,
49915006 return PopulateAttributes (atr , & stats );
49925007}
49935008
5009+ #ifndef NO_WOLFSSH_SERVER
49945010int SFTP_GetAttributes_Handle (WOLFSSH * ssh , byte * handle , int handleSz ,
49955011 char * name , WS_SFTP_FILEATRB * atr )
49965012{
@@ -5003,6 +5019,7 @@ int SFTP_GetAttributes_Handle(WOLFSSH* ssh, byte* handle, int handleSz,
50035019 WLOG (WS_LOG_SFTP , "SFTP_GetAttributes_Handle() not implemented yet" );
50045020 return WS_NOT_COMPILED ;
50055021}
5022+ #endif /* !NO_WOLFSSH_SERVER */
50065023
50075024#elif defined(MICROCHIP_MPLAB_HARMONY )
50085025int SFTP_GetAttributesStat (WS_SFTP_FILEATRB * atr , WSTAT_T * stats )
@@ -5090,11 +5107,13 @@ int SFTP_GetAttributes(void* fs, const char* fileName, WS_SFTP_FILEATRB* atr,
50905107 * Fills out a WS_SFTP_FILEATRB structure
50915108 * returns WS_SUCCESS on success
50925109 */
5110+ #ifndef NO_WOLFSSH_SERVER
50935111int SFTP_GetAttributes_Handle (WOLFSSH * ssh , byte * handle , int handleSz ,
50945112 char * name , WS_SFTP_FILEATRB * atr )
50955113{
50965114 return SFTP_GetAttributesHelper (atr , name );
50975115}
5116+ #endif /* !NO_WOLFSSH_SERVER */
50985117
50995118#else
51005119
@@ -5147,6 +5166,7 @@ int SFTP_GetAttributes(void* fs, const char* fileName, WS_SFTP_FILEATRB* atr,
51475166}
51485167
51495168
5169+ #ifndef NO_WOLFSSH_SERVER
51505170/* @TODO can be overridden by user for portability
51515171 * Gets attributes based on file descriptor
51525172 * NOTE: if atr->flags is set to a value of 0 then no attributes are set.
@@ -5191,8 +5211,10 @@ int SFTP_GetAttributes_Handle(WOLFSSH* ssh, byte* handle, int handleSz,
51915211 WOLFSSH_UNUSED (name );
51925212 return WS_SUCCESS ;
51935213}
5214+ #endif /* !NO_WOLFSSH_SERVER */
51945215#endif
51955216
5217+ #ifndef NO_WOLFSSH_SERVER
51965218
51975219#ifndef USE_WINDOWS_API
51985220/* Handles receiving fstat packet
@@ -9316,7 +9338,7 @@ int wolfSSH_SFTP_free(WOLFSSH* ssh)
93169338 ret = SFTP_FreeHandles (ssh );
93179339#endif
93189340
9319- #ifndef NO_WOLFSSH_DIR
9341+ #if !defined( NO_WOLFSSH_DIR ) && !defined( NO_WOLFSSH_SERVER )
93209342 {
93219343 /* free all dirs if hung up on */
93229344 WS_DIR_LIST * cur = ssh -> dirList ;
@@ -9337,7 +9359,7 @@ int wolfSSH_SFTP_free(WOLFSSH* ssh)
93379359 }
93389360 ssh -> dirList = NULL ;
93399361 }
9340- #endif /* NO_WOLFSSH_DIR */
9362+ #endif /* ! NO_WOLFSSH_DIR && !NO_WOLFSSH_SERVER */
93419363
93429364 wolfSSH_SFTP_ClearState (ssh , STATE_ID_ALL );
93439365 return ret ;
0 commit comments