mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-27 07:44:29 +02:00
- (bal) utimes() support via utime() interface on machine that lack utimes().
This commit is contained in:
parent
200e3c9c9a
commit
42202bc8cf
@ -1,5 +1,6 @@
|
|||||||
20010115
|
20010115
|
||||||
- (bal) sftp-server.c change to use chmod() if fchmod() does not exist.
|
- (bal) sftp-server.c change to use chmod() if fchmod() does not exist.
|
||||||
|
- (bal) utimes() support via utime() interface on machine that lack utimes().
|
||||||
|
|
||||||
20010114
|
20010114
|
||||||
- (stevesk) initial work for OpenBSD "support supplementary group in
|
- (stevesk) initial work for OpenBSD "support supplementary group in
|
||||||
|
@ -103,6 +103,9 @@
|
|||||||
* message at run-time. */
|
* message at run-time. */
|
||||||
#undef RSAREF
|
#undef RSAREF
|
||||||
|
|
||||||
|
/* struct timeval */
|
||||||
|
#undef HAVE_STRUCT_TIMEVAL
|
||||||
|
|
||||||
/* struct utmp and struct utmpx fields */
|
/* struct utmp and struct utmpx fields */
|
||||||
#undef HAVE_HOST_IN_UTMP
|
#undef HAVE_HOST_IN_UTMP
|
||||||
#undef HAVE_HOST_IN_UTMPX
|
#undef HAVE_HOST_IN_UTMPX
|
||||||
|
12
bsd-misc.c
12
bsd-misc.c
@ -80,3 +80,15 @@ const char *strerror(int e)
|
|||||||
return(sys_errlist[e]);
|
return(sys_errlist[e]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_UTIMES
|
||||||
|
int utimes(char *filename, struct timeval *tvp)
|
||||||
|
{
|
||||||
|
struct utimbuf ub;
|
||||||
|
|
||||||
|
ub.actime = tvp->tv_sec;
|
||||||
|
ub.modtime = tvp->tv_usec;
|
||||||
|
|
||||||
|
return(utime(filename, &ub));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
13
bsd-misc.h
13
bsd-misc.h
@ -54,4 +54,17 @@ int seteuid(uid_t euid);
|
|||||||
const char *strerror(int e);
|
const char *strerror(int e);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef HAVE_UTIMES
|
||||||
|
#ifndef HAVE_STRUCT_TIMEVAL
|
||||||
|
struct timeval {
|
||||||
|
long tv_sec;
|
||||||
|
long tv_usec;
|
||||||
|
}
|
||||||
|
#endif /* HAVE_STRUCT_TIMEVAL */
|
||||||
|
|
||||||
|
int utimes(char *filename, struct timeval *tvp);
|
||||||
|
#endif /* HAVE_UTIMES */
|
||||||
|
|
||||||
|
|
||||||
#endif /* _BSD_MISC_H */
|
#endif /* _BSD_MISC_H */
|
||||||
|
19
configure.in
19
configure.in
@ -313,10 +313,10 @@ AC_CHECK_FUNC(utimes,
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Checks for header files.
|
# Checks for header files.
|
||||||
AC_CHECK_HEADERS(bstring.h endian.h floatingpoint.h getopt.h lastlog.h limits.h login.h login_cap.h maillock.h netdb.h netgroup.h netinet/in_systm.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/queue.h sys/select.h sys/stat.h sys/stropts.h sys/sysmacros.h sys/time.h sys/ttcompat.h sys/un.h stddef.h time.h ttyent.h usersec.h util.h utmp.h utmpx.h vis.h)
|
AC_CHECK_HEADERS(bstring.h endian.h floatingpoint.h getopt.h lastlog.h limits.h login.h login_cap.h maillock.h netdb.h netgroup.h netinet/in_systm.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/queue.h sys/select.h sys/stat.h sys/stropts.h sys/sysmacros.h sys/time.h sys/ttcompat.h sys/un.h stddef.h time.h ttyent.h usersec.h util.h utime.h utmp.h utmpx.h vis.h)
|
||||||
|
|
||||||
dnl Checks for library functions.
|
dnl Checks for library functions.
|
||||||
AC_CHECK_FUNCS(arc4random atexit b64_ntop bcopy bindresvport_af clock fchmod freeaddrinfo futimes gai_strerror getcwd getaddrinfo getgrouplist getnameinfo getrlimit getrusage getttyent inet_aton inet_ntoa innetgr login_getcapbool md5_crypt memmove mkdtemp on_exit openpty realpath rresvport_af setdtablesize setenv seteuid setlogin setproctitle setreuid setrlimit setsid sigaction sigvec snprintf strerror strlcat strlcpy strsep strtok_r sysconf vsnprintf vhangup vis waitpid _getpty __b64_ntop)
|
AC_CHECK_FUNCS(arc4random atexit b64_ntop bcopy bindresvport_af clock fchmod freeaddrinfo futimes gai_strerror getcwd getaddrinfo getgrouplist getnameinfo getrlimit getrusage getttyent inet_aton inet_ntoa innetgr login_getcapbool md5_crypt memmove mkdtemp on_exit openpty realpath rresvport_af setdtablesize setenv seteuid setlogin setproctitle setreuid setrlimit setsid sigaction sigvec snprintf strerror strlcat strlcpy strsep strtok_r sysconf utimes vsnprintf vhangup vis waitpid _getpty __b64_ntop)
|
||||||
dnl Checks for time functions
|
dnl Checks for time functions
|
||||||
AC_CHECK_FUNCS(gettimeofday time)
|
AC_CHECK_FUNCS(gettimeofday time)
|
||||||
dnl Checks for libutil functions
|
dnl Checks for libutil functions
|
||||||
@ -825,14 +825,27 @@ if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
|
|||||||
AC_DEFINE(HAVE_STRUCT_ADDRINFO)
|
AC_DEFINE(HAVE_STRUCT_ADDRINFO)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [
|
||||||
|
AC_TRY_COMPILE(
|
||||||
|
[ #include <sys/time.h> ],
|
||||||
|
[ struct timeval tv; tv.tv_sec = 1;],
|
||||||
|
[ ac_cv_have_struct_timeval="yes" ],
|
||||||
|
[ ac_cv_have_struct_timeval="no" ]
|
||||||
|
)
|
||||||
|
])
|
||||||
|
if test "x$ac_cv_have_struct_timeval" = "xyes" ; then
|
||||||
|
AC_DEFINE(HAVE_STRUCT_TIMEVAL)
|
||||||
|
have_struct_timeval=1
|
||||||
|
fi
|
||||||
|
|
||||||
# If we don't have int64_t then we can't compile sftp-server. So don't
|
# If we don't have int64_t then we can't compile sftp-server. So don't
|
||||||
# even attempt to do it.
|
# even attempt to do it.
|
||||||
if test "x$ac_cv_have_int64_t" = "xno" -a \
|
if test "x$ac_cv_have_int64_t" = "xno" -a \
|
||||||
"x$ac_cv_sizeof_long_int" != "x8" -a \
|
"x$ac_cv_sizeof_long_int" != "x8" -a \
|
||||||
"x$ac_cv_sizeof_long_long_int" = "x0" ; then
|
"x$ac_cv_sizeof_long_long_int" = "x0" ; then
|
||||||
NO_SFTP='#'
|
NO_SFTP='#'
|
||||||
AC_SUBST(NO_SFTP)
|
|
||||||
fi
|
fi
|
||||||
|
AC_SUBST(NO_SFTP)
|
||||||
|
|
||||||
dnl Checks for structure members
|
dnl Checks for structure members
|
||||||
OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmp.h, HAVE_HOST_IN_UTMP)
|
OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmp.h, HAVE_HOST_IN_UTMP)
|
||||||
|
@ -85,6 +85,9 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
|
|||||||
#ifdef HAVE_SYS_SYSMACROS_H
|
#ifdef HAVE_SYS_SYSMACROS_H
|
||||||
# include <sys/sysmacros.h>
|
# include <sys/sysmacros.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_UTIME_H
|
||||||
|
# include <utime.h>
|
||||||
|
#endif
|
||||||
#ifdef HAVE_VIS_H
|
#ifdef HAVE_VIS_H
|
||||||
# include <vis.h>
|
# include <vis.h>
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user