1/*
2 * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
3 * Use is subject to license terms.
4 */
5
6#pragma ident	"%Z%%M%	%I%	%E% SMI"
7
8#include "config.h"
9#include <string.h>
10#include "extensions.h"
11#include "proto.h"
12
13#define DEFXFERFORMAT	"%T %Xt %R %Xn %XP %Xy %Xf %Xd %Xm %U ftp %Xa %u %Xc"
14
15int xferdone = 0;
16struct xferstat xfervalues;
17char xferlog_format[MAXXFERSTRLEN] = DEFXFERFORMAT;
18
19/*************************************************************************/
20/* FUNCTION  : get_xferlog_format                                        */
21/* PURPOSE   : Read the xferlog format string from ftpaccess into        */
22/*             xferlog_format if it exists otherwise load default string */
23/* ARGUMENTS : none                                                      */
24/*************************************************************************/
25
26void get_xferlog_format(void)
27{
28    int which;
29    struct aclmember *entry = (struct aclmember *)NULL;
30
31    /* xferlog format <formatstring> */
32    xferlog_format[0] = '\0';
33    while (getaclentry("xferlog", &entry)) {
34	if (ARG0 && (strcasecmp(ARG0, "format") == 0)) {
35	    for (which = 1; (which < MAXARGS) && ARG[which]; which++) {
36		if (which > 1) {
37		    if (strlcat(xferlog_format, " ",
38			sizeof(xferlog_format)) >= sizeof(xferlog_format))
39			break;
40		}
41		if (strlcat(xferlog_format, ARG[which],
42		    sizeof(xferlog_format)) >= sizeof(xferlog_format))
43		    break;
44	    }
45	    break;
46	}
47    }
48
49    /* default xferlog format */
50    if (xferlog_format[0] == '\0')
51	(void) strlcpy(xferlog_format, DEFXFERFORMAT, sizeof(xferlog_format));
52}
53