Add FTPD authorization abilities to
[17_m1284p_BTLD_WIZNET_HTTPD_FTPD_FATFS_SDCARD]
This commit is contained in:
		@@ -1205,7 +1205,32 @@ char ftplogin(char * pass)
 | 
			
		||||
{
 | 
			
		||||
	char sendbuf[100];
 | 
			
		||||
	int slen = 0;
 | 
			
		||||
	
 | 
			
		||||
#ifdef FTPD_AUTH_EN
 | 
			
		||||
	if (!strcmp(ftp.username, ftpd_user))
 | 
			
		||||
	{
 | 
			
		||||
		if (!strcmp(pass, ftpd_pass))
 | 
			
		||||
		{
 | 
			
		||||
 | 
			
		||||
			#if defined(_FTP_DEBUG_)
 | 
			
		||||
				PRINTF("%s logged in OK\r\n", ftp.username);
 | 
			
		||||
			#endif
 | 
			
		||||
			//fsprintf(CTRL_SOCK, logged);
 | 
			
		||||
			slen = SPRINTF(sendbuf, "230 Logged on\r\n");
 | 
			
		||||
			send(CTRL_SOCK, (uint8_t *)sendbuf, slen);
 | 
			
		||||
			ftp.state = FTPS_LOGIN;
 | 
			
		||||
			return 1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
	#if defined(_FTP_DEBUG_)
 | 
			
		||||
		PRINTF("%s logged in ERROR\r\n", ftp.username);
 | 
			
		||||
	#endif
 | 
			
		||||
	//fsprintf(CTRL_SOCK, logged);
 | 
			
		||||
	slen = SPRINTF(sendbuf, "530 Login authentication failed\r\n");
 | 
			
		||||
	send(CTRL_SOCK, (uint8_t *)sendbuf, slen);
 | 
			
		||||
	ftp.state = FTPS_NOT_LOGIN;
 | 
			
		||||
	return 0;
 | 
			
		||||
#else
 | 
			
		||||
	//memset(sendbuf, 0, DATA_BUF_SIZE);
 | 
			
		||||
	
 | 
			
		||||
#if defined(_FTP_DEBUG_)
 | 
			
		||||
@@ -1217,6 +1242,7 @@ char ftplogin(char * pass)
 | 
			
		||||
	ftp.state = FTPS_LOGIN;
 | 
			
		||||
	
 | 
			
		||||
	return 1;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int pport(char * arg)
 | 
			
		||||
 
 | 
			
		||||
@@ -24,3 +24,8 @@ wiz_NetInfo netInfo = { .mac  = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef}, // Mac add
 | 
			
		||||
		.dhcp = NETINFO_STATIC};    //Static IP configuration
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//FTPD user-pass
 | 
			
		||||
#ifdef FTPD_AUTH_EN
 | 
			
		||||
const char ftpd_user[] = "user1234";
 | 
			
		||||
const char ftpd_pass[] = "open_sesame";
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,14 @@ FATFS Fatfs;		//File system object for each logical drive. >= 2
 | 
			
		||||
//Disable Bootloader debug message
 | 
			
		||||
//#undef BOOT_DEBUG
 | 
			
		||||
 | 
			
		||||
//Enabled FTPD authorize
 | 
			
		||||
#define FTPD_AUTH_EN
 | 
			
		||||
 | 
			
		||||
#ifdef FTPD_AUTH_EN
 | 
			
		||||
extern const char ftpd_user[];
 | 
			
		||||
extern const char ftpd_pass[];
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define PRINTF_EN 1
 | 
			
		||||
#if PRINTF_EN
 | 
			
		||||
#define PRINTF(FORMAT,args...) printf_P(PSTR(FORMAT),##args)
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,7 @@ uint8_t gFTPBUF[_MAX_SS_FTPD]; //512 bytes
 | 
			
		||||
 * OK (v1.2a) Some minor changes, added key <BOOT_DEBUG>
 | 
			
		||||
 * OK (v1.2b) Some minor changes
 | 
			
		||||
 * OK (v1.2d) Changed bootable image to 1284BOOT.BIN
 | 
			
		||||
 * OK (v1.2e) Add FTPD authorization abilities (look FTPD_AUTH_EN in globals.h/globals.c)
 | 
			
		||||
 * Notes.
 | 
			
		||||
 * Works in pair with BootLoader project: <bootloader_zevero_sd_m1284p_make>
 | 
			
		||||
 * Also see </bootloader_zevero_sd_m1284p_make/m1284p_zevero_sd_m1284p_fuses.txt> to set correct fuses
 | 
			
		||||
@@ -140,7 +141,7 @@ volatile unsigned char sig_reset_board; // Flag to reset board
 | 
			
		||||
//*********Program metrics
 | 
			
		||||
const char compile_date[] PROGMEM    = __DATE__;     // Mmm dd yyyy - Дата компиляции
 | 
			
		||||
const char compile_time[] PROGMEM    = __TIME__;     // hh:mm:ss - Время компиляции
 | 
			
		||||
const char str_prog_name[] PROGMEM   = "\r\nAtMega1284p v1.2d BootLoaded HTTPD and FTPD servers && FATFS SDCARD WIZNET_5500 ETHERNET 07/02/2019\r\n"; // Program name
 | 
			
		||||
const char str_prog_name[] PROGMEM   = "\r\nAtMega1284p v1.2e BootLoaded HTTPD and FTPD servers && FATFS SDCARD WIZNET_5500 ETHERNET 15/02/2019\r\n"; // Program name
 | 
			
		||||
 | 
			
		||||
#if defined(__AVR_ATmega128__)
 | 
			
		||||
const char PROGMEM str_mcu[] = "ATmega128"; //CPU is m128
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user