diff options
author | Keith Vetter <keithv@fusion.com> | 1995-09-24 23:55:45 +0000 |
---|---|---|
committer | Keith Vetter <keithv@fusion.com> | 1995-09-24 23:55:45 +0000 |
commit | e21894944c10a830b7455cbe5cadd9e9658ee09b (patch) | |
tree | d01f5c0809fbf52f84c2d24d1c53f36558b739f2 /src/lib/krb5 | |
parent | 1b842aaf6c792666dfdc97927ee12dca443552fc (diff) | |
download | krb5-e21894944c10a830b7455cbe5cadd9e9658ee09b.tar.gz krb5-e21894944c10a830b7455cbe5cadd9e9658ee09b.tar.xz krb5-e21894944c10a830b7455cbe5cadd9e9658ee09b.zip |
Change password for the Mac
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6845 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5')
-rw-r--r-- | src/lib/krb5/os/ChangeLog | 5 | ||||
-rw-r--r-- | src/lib/krb5/os/macsock.c | 26 |
2 files changed, 24 insertions, 7 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog index 3f06ad0191..cc5d543a23 100644 --- a/src/lib/krb5/os/ChangeLog +++ b/src/lib/krb5/os/ChangeLog @@ -3,6 +3,11 @@ Fri Sep 22 15:57:33 1995 Mark Eichin <eichin@cygnus.com> * write_msg.c (krb5_write_message): check the real length variable, not the net version. +Wed Sep 20 12:00:00 1995 James Mattly <mattly@fusion.com> + + * macsock.c: Added TCP streams to the emulation package. gethostname + now no longer returns true cannonical hostnames. + Wed Sep 13 11:01:18 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: had to define away DBFLAGS for the PC. diff --git a/src/lib/krb5/os/macsock.c b/src/lib/krb5/os/macsock.c index 8fcf4c7167..523d4e218d 100644 --- a/src/lib/krb5/os/macsock.c +++ b/src/lib/krb5/os/macsock.c @@ -164,10 +164,11 @@ socket(af, type, protocol) break; case SOCK_STREAM: + memset((char *) &pb, '\0', sizeof(pb)); pb.tcppb.ioCRefNum = theUDP->fMacTCPRef; pb.tcppb.csCode = TCPCreate; pb.tcppb.csParam.create.rcvBuff = theUDP->fRecvBuf; - pb.tcppb.csParam.create.rcvBuffLen = UDPbuflen; + pb.tcppb.csParam.create.rcvBuffLen = TCPbuflen; pb.tcppb.csParam.create.notifyProc = NULL; err = PBControl((ParamBlockRec *)&pb,false); if (err) { @@ -176,7 +177,7 @@ socket(af, type, protocol) return INVALID_SOCKET; } theUDP->fStream = (unsigned long)pb.tcppb.tcpStream; - + theUDP->connect_addr.sin_family = 0; theUDP->connect_addr.sin_port = 0; theUDP->connect_addr.sin_addr.s_addr = 0; @@ -399,21 +400,25 @@ connect (s, addr, tolen) case SOCK_DGRAM: break; case SOCK_STREAM: + memset((char *) &pb, '\0', sizeof(pb)); pb.tcppb.ioCRefNum = s->fMacTCPRef; pb.tcppb.csCode = TCPActiveOpen; - pb.tcppb.csParam.open.validityFlags = timeoutValue | timeoutAction; - pb.tcppb.csParam.open.ulpTimeoutValue = 60 /* seconds */; + pb.tcppb.tcpStream = s->fStream; + pb.tcppb.csParam.open.ulpTimeoutValue = 15 /* seconds */; pb.tcppb.csParam.open.ulpTimeoutAction = 1 /* 1:abort 0:report */; - pb.tcppb.csParam.open.commandTimeoutValue = 0; + pb.tcppb.csParam.open.validityFlags = timeoutValue | timeoutAction; + pb.tcppb.csParam.open.commandTimeoutValue = 0; /* jfm timeout in 0 secs ? */ pb.tcppb.csParam.open.remoteHost = addr->sin_addr.s_addr; pb.tcppb.csParam.open.remotePort = addr->sin_port; pb.tcppb.csParam.open.localHost = 0; pb.tcppb.csParam.open.localPort = 0; /* we'll get the port back later */ + pb.tcppb.csParam.open.tosFlags = 0; /* jfm ? */ + pb.tcppb.csParam.open.precedence = 0; /* jfm ? */ pb.tcppb.csParam.open.dontFrag = 0; pb.tcppb.csParam.open.timeToLive = 0; pb.tcppb.csParam.open.security = 0; pb.tcppb.csParam.open.optionCnt = 0; - pb.tcppb.tcpStream = s->fStream; + pb.tcppb.csParam.open.userDataPtr = 0; /* jfm */ err = PBControl((ParamBlockRec *)&pb.tcppb,false); if (err) { SOCKET_SET_ERRNO (EINVAL); @@ -615,6 +620,13 @@ gethostbyaddr (char *addr, int len, int type) return 0; } + /* take off a period from the end of the connonical host name */ + { + int hostnamelen = strlen(host.cname); + if (host.cname[hostnamelen-1] == '.') + host.cname[hostnamelen-1] = 0; + } + /* Build result in hostent structure, which we will return to caller. */ result.h_name = host.cname; @@ -665,7 +677,7 @@ getmyipaddr () result.h_addrtype = AF_INET; result.h_length = sizeof (host.addr[0]); /* Length of each address */ result.h_addr_list = ipaddr_ptrs; - ipaddr_ptrs[0] = (char*) ourAddr.s_addr; + ipaddr_ptrs[0] = (char*) &ourAddr.s_addr; /* h_addr_list is a pointer to a list of pointers... */ ipaddr_ptrs[1] = 0; closesocket (sock); |