Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!shlump.dec.com!jfcl.dec.com!bradcj From: bradcj@jfcl.dec.com (Brad C. Johnson) Newsgroups: comp.protocols.kerberos Subject: Porting Kerberos to VMS Keywords: porting, portability, vms, kerberos, athena Message-ID: <497@jfcl.dec.com> Date: 23 May 89 19:52:04 GMT Reply-To: bradcj@jfcl.nac.dec.com.UUCP (Brad C. Johnson) Distribution: usa Organization: Digital Equipment Corporation Lines: 53 I am in the process of evaluating the effort to port Kerberos. There are two general areas of my evaluation: first, in general, how much effort is involved in general portability issues (e.g., compiler dependencies, system dependencies, UNI*X dependencies, etc.); and second, specifically, how much effort would be required to port the code to a VMS system -- yow! If anyone has information, insight, comments, or suggestions on this issue, please get in touch with me. Thanks in advance. In the short time I've been evaluating the code, these are the types of issues that I've identified (in porting it to VMS): Note: These are not derogatory remarks on Kerberos, rather just a list of things that would have to be addressed to port the software to VMS. Compilation: cc vs. VAX C - #include syntax is different in some ways (e.g., ) - inconsistent data type usage (e.g., mixing char and pointer to char) Configuration: - configuration parameters are set at compile time instead of execution time Function calls: C RTL vs. VAX C RTL - calls which are available on UN*X and not (implicitly) on VMS dbm(), bind(), gethostname(), getopt(), get...() ioctl(), socket() [recvfrom(), sendto(), ...], flocl(), index() Build files: make() vs. MMS - MMS build files are similar but not exactly the same as makefiles - length of a command line is different - commands are operating system dependent - syntax nits () vs. {} Files: - Unix files are different than VMS file specifications Coding: - Uses TCP/IP - Text and constants imbedded in source files - Makes assumptions about C language (e.g., if(a) vs if(a == 1)) - Not robust in contengency handling (usually just logs a message and exit()s) Documentation: - No trouble shooting or error message documentation - Installation guide is UN*X specific - Only programmers guide are man pages