diff src/authenticate.h @ 288:c02c4eb95f95 noffle

[svn] * src/configfile.h,src/configfile.c,docs/noffle.conf.5: Add noffle-user and noffle-group configs. * src/configfile.c,src/fetch.c,src/fetchlist.c,src/protocol.c, src/server.c: Replace strcpy() with Utl_cpyStr() where appropriate. See Debian bug 168128. * src/control.c,src/configfile.c,src/noffle.c: Replace [s]scanf("%s") with [s]scanf(MAXCHAR_FMT). * src/noffle.c: Log warning if noffle.conf is world readable. * src/noffle.c: Restrict most options to news admins; i.e. those who are root or news on running Noffle. * Makefile.in,acconfig.h,aclocal.m4,config.h.in,configure,configure.in, docs/Makefile.in,docs/noffle.conf.5,packages/Makefile.in, packages/redhat/Makefile.in,src/Makefile.am,src/Makefile.in, src/authenticate.c,src/authenticate.h,src/noffle.c,src/server.c: Add basic authentication using either Noffle-specific user file or authenticating via PAM (service 'noffle'). PAM authentication needs to run as root, so a Noffle server that needs PAM must be started by root. Helpful (?) error messages will be logged if not. Noffle will switch ruid and euid to 'news' (or whatever is configured) ASAP. * src/noffle.c: Add uid checking.
author bears
date Fri, 10 Jan 2003 23:25:45 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/authenticate.h	Fri Jan 10 23:25:45 2003 +0000
@@ -0,0 +1,40 @@
+/*
+  authenticate.h
+
+  Do client authentication
+
+  $Id: authenticate.h 420 2003-01-10 23:25:45Z bears $
+*/
+
+#ifndef AUTHENTICATE_H
+#define AUTHENTICATE_H
+
+#include "common.h"
+
+enum AuthResult { AUTH_ERROR, AUTH_DISCONNECT, AUTH_FAILED, AUTH_OK };
+
+/* Authenticate a user and password. */
+enum AuthResult
+Auth_authenticate( const char *user, const char *pass );
+
+/* Open authentication session. */
+Bool
+Auth_open( void );
+
+/* Authentication session now closed. */
+void
+Auth_close( void );
+
+/* Check we have appropriate privs for authentication. */
+Bool
+Auth_checkPrivs( void );
+
+/* Are are privs sufficient only for admin access? */
+Bool
+Auth_admin( void );
+
+/* Drop any privs required for authentication. */
+Bool
+Auth_dropPrivs( void );
+
+#endif