Deleted Added
sdiff udiff text old ( 22989 ) new ( 24193 )
full compact
1/*
2 * Copyright (c) 1983, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 16 unchanged lines hidden (view full) ---

25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * $Id: tftpd.c,v 1.7 1997/02/22 14:22:36 peter Exp $
34 */
35
36#ifndef lint
37static char copyright[] =
38"@(#) Copyright (c) 1983, 1993\n\
39 The Regents of the University of California. All rights reserved.\n";
40#endif /* not lint */
41

--- 375 unchanged lines hidden (view full) ---

417
418 /*
419 * If the file exists in one of the directories and isn't
420 * readable, continue looking. However, change the error code
421 * to give an indication that the file exists.
422 */
423 err = ENOTFOUND;
424 for (dirp = dirs; dirp->name != NULL; dirp++) {
425 snprintf(pathname, sizeof(pathname), "%s/%s",
426 dirp->name, filename);
427 if (stat(pathname, &stbuf) == 0 &&
428 (stbuf.st_mode & S_IFMT) == S_IFREG) {
429 if ((stbuf.st_mode & S_IROTH) != 0) {
430 break;
431 }
432 err = EACCESS;
433 }
434 }

--- 193 unchanged lines hidden (view full) ---

628{
629 static char buf[20];
630 register struct errmsg *pe;
631 if (error == 0)
632 return "success";
633 for (pe = errmsgs; pe->e_code >= 0; pe++)
634 if (pe->e_code == error)
635 return pe->e_msg;
636 snprintf(buf, sizeof(buf), "error %d", error);
637 return buf;
638}
639
640/*
641 * Send a nak packet (error message).
642 * Error code passed in is one of the
643 * standard TFTP codes, or a UNIX errno
644 * offset by 100.

--- 40 unchanged lines hidden ---