1 #ifndef _SLRN_FEATURES_H 2 #define _SLRN_FEATURES_H 3 /* Note!!! 4 * Lines beginning with '#' characters do NOT indicate that the line is 5 * commented out. C does NOT use '#' as a comment character. In this file, 6 * '1' indicates that the feature will be turned on, and '0' indicates that 7 * the feature will be turned off. 8 */ 9 10 /* These are essential macro definitions for Japanized version of slrn */ 11 #ifndef SLRNPULL_CODE 12 #define KANJI 13 #define SLANG_HAS_KANJI_SUPPORT 1 14 #endif 15 16 /* SLRN_TZ_TYPE is not necessary, but is recommended to be defined */ 17 /* according to such system types as below */ 18 /* CYGWIN32(not MINGW32) define none */ 19 /* EWS4800, MINGW32(included in CYGWIN-b20), HP-UX(R11.0) */ 20 /* SLRN_TZ_TZNAME */ 21 /* FreeBSD SLRN_TZ_TM_ZONE */ 22 /* Linux, IRIX, SUNOS, Solaris, .... not known */ 23 #define SLRN_TZ_TZNAME 1 /* tzname[] */ 24 #define SLRN_TZ_TM_ZONE 2 /* timezone set in tm_zone of struct tm */ 25 #define SLRN_TZ_TIMEZONE 3 /* timezone() */ 26 /* choose one from listed above */ 27 /* #define SLRN_TZ_TYPE SLRN_TZ_TZNAME */ 28 #define SLRN_TZ_TYPE SLRN_TZ_TM_ZONE 29 30 #define SLRN_DEFAULT_TIMEZONE "JST" 31 #define SLRN_DEFAULT_CHARSET "ISO-2022-JP" 32 33 /* If you need not read Unicode Kanji, you may undef this macro. */ 34 /* because this requires a big convert table. */ 35 #define SLRN_UNICODE_KANJI_CONVERT 1 36 37 /* If you enable local SPOOL support, you must also enable NNTP support 38 * or INEWS support. Also, see below for filenames regarding the location 39 * of the local spool and inews. Currently only unix supports this. 40 * 41 * NOTE: if you intend to use slrnpull, make sure you enable SPOOL_SUPPORT 42 * in addition to PULL_SUPPORT. 43 */ 44 #define SLRN_HAS_PULL_SUPPORT 1 45 #define SLRN_HAS_NNTP_SUPPORT 1 46 #define SLRN_HAS_SPOOL_SUPPORT 1 47 #define SLRN_HAS_INEWS_SUPPORT 0 48 /* Set this to 1 to force the user to use INEWS for posting. This also means 49 * that slrn will use the hardcoded inews program pathname. 50 */ 51 #define SLRN_FORCE_INEWS 0 52 53 #define SLRN_HAS_SPOILERS 1 54 #define SLRN_HAS_MIME 1 55 #define SLRN_HAS_SORT_BY_SCORE 1 56 57 /* If non-zero, a User-Agent header will be generated instead of X-Newsreader. */ 58 #define SLRN_HAS_USER_AGENT 1 59 60 /* If non-zero '~' characters will be used at the end of an article. This 61 * is what the vi editor does. */ 62 #define SLRN_HAS_TILDE_FEATURE 1 63 64 /* If non-zero, a special message will be displayed when article is the last 65 * one in a thread. 66 */ 67 #define SLRN_HAS_END_OF_THREAD 1 68 69 /* If non-zero, text like *this* and _that_ will be highlighted. */ 70 #define SLRN_HAS_EMPHASIZED_TEXT 1 71 72 /* If non-zero, slrn will treat specially marked lines of an article 73 * as verbatum text. It uses #v+ and #v- as markers of such text, e.g., 74 * #v+ 75 * This line denotes verbatum text. 76 * #v- 77 */ 78 #define SLRN_HAS_VERBATUM_MARKS 1 79 80 /* See README.GroupLens. This only works if SLRN_USE_SLTCP is non-zero. 81 * Also make sure NNTP support is enabled. 82 */ 83 #define SLRN_HAS_GROUPLENS 0 84 85 /* If set to 1, slrn will cache message-ids during a session and use those 86 * to eliminate cross-posts. This should not be necessary if the server 87 * supports Xref in its overview database. 88 */ 89 #define SLRN_HAS_MSGID_CACHE 0 90 91 /* Set this to 0 if you do not want the slang interpreter made available. */ 92 #define SLRN_HAS_SLANG 1 93 94 /* Set this to 0 if you do not want slrn to generate message-id header. */ 95 #define SLRN_HAS_GEN_MSGID 0 96 97 /* If you want mapping ISO Latin <--> native character set, set this to 1. 98 * Supported character sets: isolatin, ibm850, and next 99 */ 100 #define SLRN_HAS_CHARACTER_MAP 0 101 102 /* If you want to use uudeview's uulib instead of slrn's builtin one 103 * change this to 1. You will also need to edit the Makefile to point to 104 * the uudeview include file and and library. Only enable this if you 105 * have uudeview installed on your system. 106 */ 107 #define SLRN_HAS_UUDEVIEW 0 108 109 /* If an article does not contain a references but it contains an In-reply-to 110 * header, then the In-reply-to header might serve as a references 111 * header. Set this to 1 to allow for that possibility. Since this 112 * only works if XOVER is not used, most NNTP users will not be 113 * affected by it. However, it could be a big win for slrnpull users 114 * who read groups that are gatewayed from a mailing list, e.g., 115 * comp.os.msdos.djgpp. 116 */ 117 #define SLRN_HAS_FAKE_REFS 1 118 119 /* The sltcp interface is necessary for simultaneous tcp/ip connections. */ 120 #define SLRN_USE_SLTCP 1 121 122 #ifndef VMS 123 # define SLRN_HAS_DECODE 1 124 # define SLRN_HAS_PIPING 1 125 #else 126 # define SLRN_HAS_PIPING 0 127 # define SLRN_HAS_DECODE 0 128 #endif 129 130 /* If non-zero, an rn style lock file will be created if .newsrc is the newsrc 131 * file. 132 */ 133 #if defined(VMS) || defined(__os2__) || defined(__NT__) 134 # define SLRN_HAS_RNLOCK 0 135 #else 136 # define SLRN_HAS_RNLOCK 1 137 #endif 138 139 /* If non-zero, slrn will add From header to mail messages. */ 140 #if defined(IBMPC_SYSTEM) && !defined(KANJI) 141 # define SLRN_GEN_FROM_EMAIL_HEADER 1 142 #else 143 # define SLRN_GEN_FROM_EMAIL_HEADER 0 144 #endif 145 146 #define SLRN_MAX_HEADER_FORMATS 10 147 148 /* ---------------- LOCAL SPOOL and INEWS filenames and configuration ----------------------- */ 149 150 #if SLRN_HAS_INEWS_SUPPORT 151 /* Note the -S flag. slrn appends the signature to the file to be posted and 152 * the -S flag tells inews not to also do this. The -h flag must be used. 153 */ 154 # define SLRN_INEWS_PROGRAM "/usr/local/bin/inews -S -h" 155 #endif 156 157 #if SLRN_HAS_SPOOL_SUPPORT || defined(SLRNPULL_CODE) 158 159 /* Note: Do not be confused by INN. You do not need INN. slrn can work with 160 * CNEWS just as well. 161 */ 162 163 /* Root directory names */ 164 # define SLRN_SPOOL_ROOT "/var/spool/news" 165 /* SLRN_NOV_ROOT gives the root directory for overview files 166 * if you don't have overview files, leave as SLRN_SPOOL_ROOT for now */ 167 # define SLRN_SPOOL_NOV_ROOT SLRN_SPOOL_ROOT 168 /* SLRN_NOV_FILE gives filename for overview file in each directory */ 169 # define SLRN_SPOOL_NOV_FILE ".overview" 170 171 # define SLRN_SPOOL_INNROOT "/var/lib/news" 172 /* If the following filenames are relative ones, they are considered to be 173 * relative to SLRN_SPOOL_INNROOT. 174 */ 175 # define SLRN_SPOOL_ACTIVE "data/active" 176 # define SLRN_SPOOL_ACTIVETIMES "data/active.times" 177 # define SLRN_SPOOL_NEWSGROUPS "data/newsgroups" 178 179 /* set to 1 to allow scanning the active file for article ranges if there's 180 * no .overview file -- if 0 or no active file, then look at filenames in 181 * the spool directory instead. 0 seems best... */ 182 # define SPOOL_ACTIVE_FOR_ART_RANGE 0 183 #endif 184 185 /* Default Startup mode. Should slrn use spool or nntp? What about default 186 * posting agent? 187 */ 188 #if SLRN_HAS_NNTP_SUPPORT 189 # define SLRN_DEFAULT_SERVER_OBJ SLRN_SERVER_ID_NNTP 190 # define SLRN_DEFAULT_POST_OBJ SLRN_POST_ID_NNTP 191 #else 192 # define SLRN_DEFAULT_SERVER_OBJ SLRN_SERVER_ID_SPOOL 193 # define SLRN_DEFAULT_POST_OBJ SLRN_POST_ID_INEWS 194 #endif 195 196 #if SLRN_HAS_INEWS_SUPPORT && SLRN_FORCE_INEWS 197 # undef SLRN_DEFAULT_POST_OBJ 198 # define SLRN_DEFAULT_POST_OBJ SLRN_POST_ID_INEWS 199 #endif 200 201 202 203 /* ---------------- end of INEWS and LOCAL SPOOL configuration ----------- */ 204 205 #ifdef VMS 206 /* 207 * VMS filenames 208 */ 209 # define SLRN_FAILED_POST_FILE "slrn-failed-post.txt" 210 # define SLRN_USER_SLRNRC_FILENAME "slrn.rc" 211 # define SLRN_LETTER_FILENAME "slrn-letter.txt" 212 # define SLRN_ARTICLE_FILENAME "slrn-article.txt" 213 # define SLRN_FOLLOWUP_FILENAME "slrn-followup.txt" 214 # define SLRN_SIGNATURE_FILE ".signature" 215 # ifndef SLRN_LIB_DIR 216 # define SLRN_LIB_DIR "sys$manager:" 217 # endif 218 #else 219 # if defined(IBMPC_SYSTEM) 220 /* 221 * OS/2 filenames 222 */ 223 # define SLRN_FAILED_POST_FILE "failpost.txt" 224 # define SLRN_USER_SLRNRC_FILENAME "slrn.rc" 225 # define SLRN_LETTER_FILENAME "letter.txt" 226 # define SLRN_ARTICLE_FILENAME "article.txt" 227 # define SLRN_FOLLOWUP_FILENAME "followup.txt" 228 # define SLRN_SIGNATURE_FILE "signatur.txt" 229 # define SLRN_SENDMAIL_COMMAND "sendmail -t -af" 230 # ifndef SLRN_LIB_DIR 231 # define SLRN_LIB_DIR "C:/slrn" 232 # endif 233 # else 234 # ifdef __unix__ 235 /* 236 * Unix filenames 237 */ 238 # define SLRN_FAILED_POST_FILE "slrn-failed-post.txt" 239 # define SLRN_USER_SLRNRC_FILENAME ".slrnrc" 240 # define SLRN_LETTER_FILENAME ".letter" 241 # define SLRN_ARTICLE_FILENAME ".article" 242 # define SLRN_FOLLOWUP_FILENAME ".followup" 243 # define SLRN_SIGNATURE_FILE ".signature" 244 # define SLRN_SENDMAIL_COMMAND "/usr/sbin/sendmail -oi -t -oem -odb" 245 # ifndef SLRN_LIB_DIR 246 # define SLRN_LIB_DIR "/usr/local/lib/slrn" 247 # endif 248 # endif /* unix */ 249 # endif /* os2 */ 250 #endif /* vms */ 251 252 /* #define OUR_ORGANIZATION "organization-name" */ 253 /* #define OUR_HOSTNAME "host.name.here" */ 254 /* #define NNTPSERVER_NAME "my.server.name" */ 255 /* #define NNTPSERVER_FILE "/usr/local/lib/news/nntp_server" */ 256 257 #if SLRN_HAS_GROUPLENS 258 # undef SLRN_USE_SLTCP 259 # define SLRN_USE_SLTCP 1 260 #endif 261 262 /* The rest of the files apply to slrnpull. */ 263 264 /* This must be set to an absolute pathname. */ 265 #define SLRNPULL_ROOT_DIR "/var/spool/news/slrnpull" 266 267 /* The remaing variables are specified as relative names with respect to the 268 * SLRNPULL_ROOT_DIR. 269 */ 270 271 /* slrnpull configuration filename. */ 272 #define SLRNPULL_CONF "slrnpull.conf" 273 274 /* slrnpull outgoing post directory. */ 275 #define SLRNPULL_OUTGOING_DIR "out.going" 276 277 /* If set to 1, slrn will write files to the outgoing directory with group 278 * write permission. This assumes that the outgoing directory has been 279 * created with the setgid bit enabled, which slrnpull will do if this is 280 * set to 1. See slrn/slrnpull/setgid.txt for more information. 281 */ 282 #define SLRNPULL_USE_SETGID_POSTS 0 283 284 /* The file that will be used for killing articles as they are fetched. */ 285 #define SLRNPULL_SCORE_FILE "score" 286 287 /* All news article retrived from the server will be placed in newsgroup 288 * subdirectories in this directory. 289 */ 290 #define SLRNPULL_NEWS_DIR "news" 291 292 /* File where messages and errors will be placed. */ 293 #define SLRNPULL_LOGFILE "log" 294 295 #if SLRN_HAS_PULL_SUPPORT && !SLRN_HAS_SPOOL_SUPPORT 296 # undef SLRN_HAS_PULL_SUPPORT 297 # define SLRN_HAS_PULL_SUPPORT 0 298 #endif 299 300 #if !SLRN_HAS_NNTP_SUPPORT 301 # undef SLRN_HAS_GROUPLENS 302 # define SLRN_HAS_GROUPLENS 0 303 #endif 304 305 /* Sanity checks. Do not modify. */ 306 307 #if !defined (SLRN_DEFAULT_SERVER_OBJ) 308 # if SLRN_HAS_NNTP_SUPPORT 309 # define SLRN_DEFAULT_SERVER_OBJ SLRN_SERVER_ID_NNTP 310 # else 311 # define SLRN_DEFAULT_SERVER_OBJ SLRN_SERVER_ID_SPOOL 312 # endif 313 #endif 314 315 #if !defined (SLRN_DEFAULT_POST_OBJ) 316 # if SLRN_HAS_NNTP_SUPPORT 317 # define SLRN_DEFAULT_POST_OBJ SLRN_POST_ID_NNTP 318 # else 319 # define SLRN_DEFAULT_POST_OBJ SLRN_POST_ID_INEWS 320 # endif 321 #endif 322 323 #endif /* _SLRN_FEATURES_H */ 324