* innduct
* tailing reliable realtime streaming feeder for inn
*
- * Copyright (C) 2010 Ian Jackson <ijackson@chiark.greenend.org.uk>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * (I believe that when you compile and link this as part of the inn2
- * build, with the Makefile runes I have provided, all the libraries
- * and files which end up included in innduct are licence-compatible
- * with GPLv3. If not then please let me know. -Ian Jackson.)
+ * Copyright Ian Jackson <ijackson@chiark.greenend.org.uk>
+ * and contributors; see LICENCE.txt.
+ * SPDX-License-Identifier: GPL-3.0-or-later
*/
#ifndef INNDUCT_H
#include <time.h>
#include <math.h>
#include <ctype.h>
+#include <limits.h>
#include <oop.h>
#include <oop-read.h>
#define INNDCOMMCHILD_ESTATUS_FAIL 26
#define INNDCOMMCHILD_ESTATUS_NONESUCH 27
-#define MAX_LINE_FEEDFILE (NNTP_MSGID_MAXLEN + sizeof(TOKEN)*2 + 10)
+#define MAX_LINE_FEEDFILE (NNTP_MAXLEN_MSGID + sizeof(TOKEN)*2 + 10)
#define MAX_CLI_COMMAND 1000
#define VA va_list al; va_start(al,fmt)
extern int max_bad_data_initial;
-/*----- statistics -----*/
+/*----- article states, and statistics -----*/
typedef enum { /* in queue in conn->sent */
art_Unchecked, /* not checked, not sent checking */
void dbg(const char *fmt, ...) PRINTF(1,2);
void logv(int sysloglevel, const char *pfx, int errnoval,
- const char *fmt, va_list al) PRINTF(5,0);
+ const char *fmt, va_list al) PRINTF(4,0);
-char *xvasprintf(const char *fmt, va_list al) PRINTF(1,0);
-char *xasprintf(const char *fmt, ...) PRINTF(1,2);
+char *mvasprintf(const char *fmt, va_list al) PRINTF(1,0);
+char *masprintf(const char *fmt, ...) PRINTF(1,2);
int close_perhaps(int *fd);
void xclose(int fd, const char *what, const char *what2);
INNLOGSET(die, "fatal", LOG_ERR) \
INNLOGSET(warn, "warning", LOG_WARNING) \
INNLOGSET(notice, "notice", LOG_NOTICE) \
- INNLOGSET(trace, "trace", LOG_NOTICE)
+ INNLOGSET(debug, "debug", LOG_DEBUG)
#define INNLOGSET_DECLARE(fn, pfx, sysloglevel) \
void duct_log_##fn(int l, const char *fmt, va_list al, int errval) \
- PRINTF(3,0);
+ PRINTF(2,0);
INNLOGSETS(INNLOGSET_DECLARE)
/*----- duct.c -----*/