/* ======================================================================== * Copyright 1988-2006 University of Washington * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * * ======================================================================== */ /* * Program: Dummy (no SSL) authentication/encryption module * * Author: Mark Crispin * Networks and Distributed Computing * Computing & Communications * University of Washington * Administration Building, AG-44 * Seattle, WA 98195 * Internet: MRC@CAC.Washington.EDU * * Date: 7 February 2001 * Last Edited: 30 August 2006 */ /* Init server for SSL * Accepts: server name */ void ssl_server_init (char *server) { syslog (LOG_ERR,"This server does not support SSL"); exit (1); /* punt this program too */ } /* Start TLS * Accepts: /etc/services service name * Returns: cpystr'd error string if TLS failed, else NIL for success */ char *ssl_start_tls (char *server) { return cpystr ("This server does not support TLS"); } /* Get character * Returns: character or EOF */ int PBIN (void) { return getchar (); } /* Get string * Accepts: destination string pointer * number of bytes available * Returns: destination string pointer or NIL if EOF */ char *PSIN (char *s,int n) { return fgets (s,n,stdin); } /* Get record * Accepts: destination string pointer * number of bytes to read * Returns: T if success, NIL otherwise */ long PSINR (char *s,unsigned long n) { unsigned long i; while (n && ((i = fread (s,1,n,stdin)) || (errno == EINTR))) s += i,n -= i; return n ? NIL : LONGT; } /* Wait for input * Accepts: timeout in seconds * Returns: T if have input on stdin, else NIL */ long INWAIT (long seconds) { return server_input_wait (seconds); } /* Put character * Accepts: character * Returns: character written or EOF */ int PBOUT (int c) { return putchar (c); } /* Put string * Accepts: source string pointer * Returns: 0 or EOF if error */ int PSOUT (char *s) { return fputs (s,stdout); } /* Put record * Accepts: source sized text * Returns: 0 or EOF if error */ int PSOUTR (SIZEDTEXT *s) { unsigned char *t; unsigned long i,j; for (t = s->data,i = s->size; (i && ((j = fwrite (t,1,i,stdout)) || (errno == EINTR))); t += j,i -= j); return i ? EOF : NIL; } /* Flush output * Returns: 0 or EOF if error */ int PFLUSH (void) { return fflush (stdout); }