openssh-2.9.9p2 session.c fails on Solaris 7,8 w/ SunPro C
Kevin Steves
stevesk at pobox.com
Fri Sep 28 04:58:14 EST 2001
On Wed, 26 Sep 2001 Austin.David at wink.com wrote:
:session.c fails from openSSH 2.9.9p2 with SunPro C compiler on Solaris 7,
:8. The function do_pre_login had to be moved to before its use in
:do_exec_pty (a predeclaration would work).
yes, unfortunately that was missed. i will commit wayne's patch.
:It does appear to work correctly, given the above fix. Still having the
:largefile problem (argh), so if anyone can help with /that/ ...
this should fix type conversion problems exposed when using 64-bit off_t.
can folks test?
Index: loginrec.c
===================================================================
RCS file: /var/cvs/openssh/loginrec.c,v
retrieving revision 1.34
diff -u -r1.34 loginrec.c
--- loginrec.c 2001/08/06 23:29:17 1.34
+++ loginrec.c 2001/09/27 18:53:33
@@ -1095,7 +1095,7 @@
}
/* Seek to the start of the last struct utmp */
- if (lseek(fd, (off_t)(0 - sizeof(struct utmp)), SEEK_END) == -1) {
+ if (lseek(fd, -(off_t)sizeof(struct utmp), SEEK_END) == -1) {
/* Looks like we've got a fresh wtmp file */
close(fd);
return 0;
@@ -1128,7 +1128,7 @@
continue;
}
/* Seek back 2 x struct utmp */
- if (lseek(fd, (off_t)(0-2*sizeof(struct utmp)), SEEK_CUR) == -1) {
+ if (lseek(fd, -(off_t)(2 * sizeof(struct utmp)), SEEK_CUR) == -1) {
/* We've found the start of the file, so quit */
close (fd);
return 0;
@@ -1251,7 +1251,7 @@
}
/* Seek to the start of the last struct utmpx */
- if (lseek(fd, (off_t)(0-sizeof(struct utmpx)), SEEK_END) == -1 ) {
+ if (lseek(fd, -(off_t)sizeof(struct utmpx), SEEK_END) == -1 ) {
/* probably a newly rotated wtmpx file */
close(fd);
return 0;
@@ -1281,7 +1281,7 @@
# endif
continue;
}
- if (lseek(fd, (off_t)(0-2*sizeof(struct utmpx)), SEEK_CUR) == -1) {
+ if (lseek(fd, -(off_t)(2 * sizeof(struct utmpx)), SEEK_CUR) == -1) {
close (fd);
return 0;
}
@@ -1424,7 +1424,7 @@
if (type == LL_FILE) {
/* find this uid's offset in the lastlog file */
- offset = (off_t) ( (long)li->uid * sizeof(struct lastlog));
+ offset = (off_t) ((long)li->uid * sizeof(struct lastlog));
if ( lseek(*fd, offset, SEEK_SET) != offset ) {
log("lastlog_openseek: %s->lseek(): %s",
More information about the openssh-unix-dev
mailing list