Mercurial > noffle
view src/database.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 | 3477050e8d10 |
children | a04c52f87b6e |
line wrap: on
line source
/* database.h Article database. $Id: database.h 403 2002-11-10 11:32:17Z bears $ */ #ifndef DB_H #define DB_H #if HAVE_CONFIG_H #include <config.h> #endif #if TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> #else #if HAVE_SYS_TIME_H #include <sys/time.h> #else #include <time.h> #endif #endif #include "common.h" #include "dynamicstring.h" #include "over.h" /* Article status flags: */ #define DB_INTERESTING 0x01u /* Was article ever tried to read? */ #define DB_NOT_DOWNLOADED 0x02u /* Not fully downloaded */ #define DB_RETRIEVING_FAILED 0x04u /* Retrieving of article failed */ /* Open database for r/w. Locking must be done by the caller! */ Bool Db_open( void ); void Db_close( void ); /* Creates an database entry for the article from the overview information. Xref is replaced by grp:numb. */ Bool Db_prepareEntry( const Over *ov, const char *grp, int numb ); /* Store full article. Can only be used after Db_prepareEntry. */ Bool Db_storeArt( const char *msgId, const char *artTxt ); void Db_setStatus( const char *msgId, unsigned status ); void Db_updateLastAccess( const char *msgId ); /* Xref header line without hostname */ void Db_setXref( const char *msgId, const char *xref ); const char * Db_header( const char *msgId ); const char * Db_body( const char *msgId ); unsigned Db_status( const char *msgId ); /* Get last modification time of entry. Returns -1, if msgId non-existing. */ time_t Db_lastAccess( const char *msgId ); /* Value of the References header line */ const char * Db_ref( const char *msgId ); /* Value of the From header line */ const char * Db_from( const char *msgId ); /* Value of the Date header line */ const char * Db_date( const char *msgId ); /* Xref header line without hostname */ const char * Db_xref( const char *msgId ); /* Overview - need to del_Over result when finished with */ Over * Db_over( const char *msgId ); Bool Db_contains( const char *msgId ); /* Delete entry from database */ void Db_delete( const char *msgId ); Bool Db_first( const char** msgId ); Bool Db_next( const char** msgId ); /* Compact database if appropriate - give deleted article space back to OS */ void Db_compact( void ); /* Rebuild the article database. */ Bool Db_rebuild( void ); #endif