mirror of https://github.com/ipxe/ipxe.git
[tftp] Add error table entry for TFTP "file not found" error code
Add an abbreviated "Not found" error message for a TFTP "file not found" error code, so that any automatic attempt to download a non-existent autoexec.ipxe script produces only a minimal error message. Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/1130/merge
parent
43deab89c3
commit
afae881782
|
@ -44,6 +44,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|||
#include <ipxe/dhcp.h>
|
||||
#include <ipxe/uri.h>
|
||||
#include <ipxe/profile.h>
|
||||
#include <ipxe/errortab.h>
|
||||
#include <ipxe/tftp.h>
|
||||
|
||||
/** @file
|
||||
|
@ -76,6 +77,9 @@ FEATURE ( FEATURE_PROTOCOL, "TFTP", DHCP_EB_FEATURE_TFTP, 1 );
|
|||
#define EINVAL_MC_INVALID_PORT __einfo_error ( EINFO_EINVAL_MC_INVALID_PORT )
|
||||
#define EINFO_EINVAL_MC_INVALID_PORT __einfo_uniqify \
|
||||
( EINFO_EINVAL, 0x07, "Invalid multicast port" )
|
||||
#define ENOENT_NOT_FOUND __einfo_error ( EINFO_ENOENT_NOT_FOUND )
|
||||
#define EINFO_ENOENT_NOT_FOUND __einfo_uniqify \
|
||||
( EINFO_ENOENT, 0x01, "Not found" )
|
||||
|
||||
/**
|
||||
* A TFTP request
|
||||
|
@ -167,6 +171,11 @@ static struct profiler tftp_client_profiler __profiler =
|
|||
static struct profiler tftp_server_profiler __profiler =
|
||||
{ .name = "tftp.server" };
|
||||
|
||||
/** Human-readable error messages */
|
||||
struct errortab tftp_errors[] __errortab = {
|
||||
__einfo_errortab ( EINFO_ENOENT_NOT_FOUND ),
|
||||
};
|
||||
|
||||
/**
|
||||
* Free TFTP request
|
||||
*
|
||||
|
@ -872,7 +881,7 @@ static int tftp_rx_data ( struct tftp_request *tftp,
|
|||
*/
|
||||
static int tftp_errcode_to_rc ( unsigned int errcode ) {
|
||||
switch ( errcode ) {
|
||||
case TFTP_ERR_FILE_NOT_FOUND: return -ENOENT;
|
||||
case TFTP_ERR_FILE_NOT_FOUND: return -ENOENT_NOT_FOUND;
|
||||
case TFTP_ERR_ACCESS_DENIED: return -EACCES;
|
||||
case TFTP_ERR_ILLEGAL_OP: return -ENOTTY;
|
||||
default: return -ENOTSUP;
|
||||
|
|
Loading…
Reference in New Issue