taler-mailbox

Service for asynchronous wallet-to-wallet payment messages
Log | Files | Refs | Submodules | README | LICENSE

commit 083965a0d97d3575c663e08d44922d5a52aea22d
parent e3c4651871b31c363f6b3f1d448f13848843463f
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Sat, 21 Mar 2026 10:01:14 +0100

fix name of config file and makefile

Diffstat:
MMakefile.in | 7+++----
Mcmd/mailbox-config/main.go | 2+-
Mcmd/mailbox-server/main.go | 2+-
Adoc/man/taler-mailbox-config.1 | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adoc/man/taler-mailbox-dbinit.1 | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adoc/man/taler-mailbox-httpd.1 | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ddoc/man/taler-mailbox.1 | 59-----------------------------------------------------------
Adoc/man/taler-mailbox.conf.5 | 166+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rmailbox.conf.example -> taler-mailbox.conf.example | 0
9 files changed, 395 insertions(+), 65 deletions(-)

diff --git a/Makefile.in b/Makefile.in @@ -24,20 +24,19 @@ install: server chmod +x ./contrib/taler-mailbox-dbconfig install ./contrib/taler-mailbox-dbconfig ${DESTDIR}${bindir} cp -r ./sql ${DESTDIR}${TALER_MAILBOX_HOME}/ - cp mailbox.conf.example ${DESTDIR}${TALER_MAILBOX_HOME} + cp taler-mailbox.conf.example ${DESTDIR}${TALER_MAILBOX_HOME} -mkdir -p ${DESTDIR}${mandir}/man1 -mkdir -p ${DESTDIR}${mandir}/man5 - cp doc/man/taler-mailbox.1 ${DESTDIR}${mandir}/man1/ cp doc/man/taler-mailbox-config.1 ${DESTDIR}${mandir}/man1/ cp doc/man/taler-mailbox-httpd.1 ${DESTDIR}${mandir}/man1/ cp doc/man/taler-mailbox-dbinit.1 ${DESTDIR}${mandir}/man1/ - cp doc/man/mailbox.conf.5 ${DESTDIR}${mandir}/man5/ + cp doc/man/taler-mailbox.conf.5 ${DESTDIR}${mandir}/man5/ uninstall: -$(RM) ${DESTDIR}${bindir}/taler-mailbox* -${RM} -r ${DESTDIR}${TALER_MAILBOX_HOME} -${RM} -r ${DESTDIR}${mandir}/man1/taler-mailbox* - -${RM} -r ${DESTDIR}${mandir}/man5/mailbox* + -${RM} -r ${DESTDIR}${mandir}/man5/taler-mailbox* check: diff --git a/cmd/mailbox-config/main.go b/cmd/mailbox-config/main.go @@ -105,7 +105,7 @@ func main() { fmt.Printf("%s %s", filepath.Base(fullName), version) return } - cfgfile := path.Join(mailboxconfdir, "mailbox.conf") + cfgfile := path.Join(mailboxconfdir, "taler-mailbox.conf") if len(*cfgFlag) != 0 { cfg, err = ini.Load(*cfgFlag) if err != nil { diff --git a/cmd/mailbox-server/main.go b/cmd/mailbox-server/main.go @@ -80,7 +80,7 @@ func main() { fmt.Printf("%s %s", filepath.Base(fullName), version) return } - cfgfile := path.Join(mailboxconfdir, "mailbox.conf") + cfgfile := path.Join(mailboxconfdir, "taler-mailbox.conf") if len(*cfgFlag) != 0 { cfgfile = *cfgFlag } diff --git a/doc/man/taler-mailbox-config.1 b/doc/man/taler-mailbox-config.1 @@ -0,0 +1,84 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "TALER-MAILBOX-CONFIG" "1" "Mar 21, 2026" "1.0" "GNU Taler" +.SH NAME +taler-mailbox-config \- manipulate Taler mailbox configuration files +.SH SYNOPSIS +.sp +\fBtaler\-mailbox\-config\fP +[\fB\-c\fP\ \fIfilename\fP\ |\ \fB\-\-config=\fP\fIfilename\fP] +[\fB\-h\fP\ |\ \fB\-\-help\fP] +[\fB\-o\fP\ \fIoption\fP\ |\ \fB\-\-option=\fP\fIoption\fP] +[\fB\-O\fP\ |\ \fB\-\-only\-value\fP] +[\fB\-S\fP\ |\ \fB\-\-list\-sections\fP] +[\fB\-s\fP\ \fIsection\fP\ |\ \fB\-\-section=\fP\fIsection\fP] +[\fB\-v\fP\ |\ \fB\-\-version\fP] +.SH DESCRIPTION +.sp +\fBtaler\-mailbox\-config\fP can be used to read or modify taler\-mailbox configuration files. +.INDENT 0.0 +.TP +\fB\-c\fP \fIFILENAME\fP | \fB\-\-config=\fP\fIFILENAME\fP +Use the configuration file \fIFILENAME\fP\&. +.TP +\fB\-h\fP | \fB\-\-help\fP +Print short help on options. +.TP +\fB\-o\fP \fIOPTION\fP | \fB\-\-option=\fP\fIOPTION\fP +Which configuration option should be accessed or edited. Required to set a +value. If not given, all values of a given section will be printed in the +format \(dqOPTION = VALUE\(dq. +.TP +\fB\-O\fP | \fB\-\-only\-value\fP +Print only the value(s), not the key(s). +.TP +\fB\-S\fP | \fB\-\-list\-sections\fP +List available configuration sections for use with \fB\-\-section\fP\&. +.TP +\fB\-s\fP \fISECTION\fP | \fB\-\-section=\fP\fISECTION\fP +Which configuration section should be accessed or edited. +Required option. +.TP +\fB\-v\fP | \fB\-\-version\fP +Print GNU Taler version number. +.UNINDENT +.SH SEE ALSO +.sp +taler\-mailbox\-dbinit(1), taler\-mailbox\-httpd(1), taler\-mailbox.conf(5). +.SH BUGS +.sp +Report bugs by using \X'tty: link https://bugs.taler.net'\fI\%https://bugs.taler.net\fP\X'tty: link' or by sending electronic +mail to <\X'tty: link mailto:taler@gnu.org'\fI\%taler@gnu.org\fP\X'tty: link'>. +.SH AUTHOR +GNU Taler contributors +.SH COPYRIGHT +2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+) +.\" Generated by docutils manpage writer. +. diff --git a/doc/man/taler-mailbox-dbinit.1 b/doc/man/taler-mailbox-dbinit.1 @@ -0,0 +1,68 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "TALER-MAILBOX-DBINIT" "1" "Mar 21, 2026" "1.0" "GNU Taler" +.SH NAME +taler-mailbox-dbinit \- initialize the Taler mailbox database +.SH SYNOPSIS +.sp +\fBtaler\-mailbox\-dbinit\fP +[\fB\-c\fP\ \fIFILENAME\fP\ |\ \fB\-\-config=\fP‌\fIFILENAME\fP] +[\fB\-h\fP\ |\ \fB\-\-help\fP] +\fB\-v\fP\ |\ \fB\-\-version\fP] +.SH DESCRIPTION +.sp +\fBtaler\-mailbox\-dbinit\fP is a command\-line tool to initialize the taler\-mailbox database. +.sp +Its options are as follows: +.INDENT 0.0 +.TP +\fB\-c\fP \fIFILENAME\fP | \fB\-\-config=\fP‌\fIFILENAME\fP +Use the configuration and other resources for the taler\-mailbox commands +to operate from \fIFILENAME\fP\&. +.TP +\fB\-h\fP | \fB\-\-help\fP +Print short help on options. +.TP +\fB\-v\fP | \fB–version\fP +Print version information. +.UNINDENT +.SH SEE ALSO +.sp +taler\-mailbox\-config(1), taler\-mailbox\-httpd(1), taler\-mailbox.conf(5). +.SH BUGS +.sp +Report bugs by using \X'tty: link https://bugs.taler.net'\fI\%https://bugs.taler.net\fP\X'tty: link' or by sending electronic +mail to <\X'tty: link mailto:taler@gnu.org'\fI\%taler@gnu.org\fP\X'tty: link'>. +.SH AUTHOR +GNU Taler contributors +.SH COPYRIGHT +2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+) +.\" Generated by docutils manpage writer. +. diff --git a/doc/man/taler-mailbox-httpd.1 b/doc/man/taler-mailbox-httpd.1 @@ -0,0 +1,72 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "TALER-MAILBOX-HTTPD" "1" "Mar 21, 2026" "1.0" "GNU Taler" +.SH NAME +taler-mailbox-httpd \- provide the Taler mailbox HTTP interface +.SH SYNOPSIS +.sp +\fBtaler\-mailbox\-httpd\fP +[\fB\-c\fP\ \fIFILENAME\fP\ |\ \fB\-\-config=\fP‌\fIFILENAME\fP] +[\fB\-h\fP\ |\ \fB\-\-help\fP] +[\fB\-L\fP\ \fILOGLEVEL\fP\ |\ \fB\-\-log=\fP\fILOGLEVEL\fP] +[\fB\-v\fP\ |\ \fB\-\-version\fP] +.SH DESCRIPTION +.sp +\fBtaler\-mailbox\-httpd\fP is a command\-line tool to provide the taler\-mailbox HTTP interface. +.sp +Its options are as follows: +.INDENT 0.0 +.TP +\fB\-c\fP \fIFILENAME\fP | \fB\-\-config=\fP‌\fIFILENAME\fP +Use the configuration and other resources for the taler\-mailbox commands +to operate from \fIFILENAME\fP\&. +.TP +\fB\-h\fP | \fB\-\-help\fP +Print short help on options. +.TP +\fB\-L\fP \fILOGLEVEL\fP | \fB\-\-log=\fP\fILOGLEVEL\fP +Configure logging to use \fILOGLEVEL\fP\&. +.TP +\fB\-v\fP | \fB–version\fP +Print version information. +.UNINDENT +.SH SEE ALSO +.sp +taler\-mailbox\-config(1), taler\-mailbox\-dbinit(1), taler\-mailbox.conf(5). +.SH BUGS +.sp +Report bugs by using \X'tty: link https://bugs.taler.net'\fI\%https://bugs.taler.net\fP\X'tty: link' or by sending electronic +mail to <\X'tty: link mailto:taler@gnu.org'\fI\%taler@gnu.org\fP\X'tty: link'>. +.SH AUTHOR +GNU Taler contributors +.SH COPYRIGHT +2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+) +.\" Generated by docutils manpage writer. +. diff --git a/doc/man/taler-mailbox.1 b/doc/man/taler-mailbox.1 @@ -1,59 +0,0 @@ -.\" This file is part of GNU Taler. -.\" Copyright (C) 2025 GNU Taler -.\" -.\" Permission is granted to copy, distribute and/or modify this document -.\" under the terms of the GNU Free Documentation License, Version 1.3 or -.\" any later version published by the Free Software Foundation; with no -.\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -.\" copy of the license is included in the file -.\" FDL-1.3. -.\" -.\" A copy of the license is also available from the Free Software -.\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}. -.\" -.\" Alternately, this document is also available under the General -.\" Public License, version 3 or later, as published by the Free Software -.\" Foundation. A copy of the license is included in the file -.\" GPL3. -.\" -.\" A copy of the license is also available from the Free Software -.\" Foundation Web site at http://www.gnu.org/licenses/gpl.html -.\" -.\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later -.\" -.Dd April 26, 2025 -.Dt TALER-MAILBOX 1 -.Os -.Sh NAME -.Nm taler-mailbox -.Nd The GNU Taler Mailbox Service -.Sh SYNOPSIS -.Nm -.Op Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME -.Op Fl h | -help -.Op Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL -.Op Fl v | -version -.Sh DESCRIPTION -.Nm -is used to send and receiver payment request messages for P2P payments. -.Bl -tag -width indent -.It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME -Use the configuration file FILENAME. -.It Fl h | -help -Print short help on options. -.It Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL -Use LOGLEVEL for logging. -Valid values are DEBUG, INFO, WARNING and ERROR. -.It Fl v | -version -Print version number. -.El -.Sh DIAGNOSTICS -.Nm -will return 0 on success. -.\".Sh HISTORY -.\".Sh AUTHORS -.Sh BUGS -Report bugs by using -.Lk https://bugs.gnunet.org -or by sending electronic mail to -.Aq Mt gnunet-developers@gnu.org . diff --git a/doc/man/taler-mailbox.conf.5 b/doc/man/taler-mailbox.conf.5 @@ -0,0 +1,166 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "TALER-MAILBOX.CONF" "5" "Mar 21, 2026" "1.0" "GNU Taler" +.SH NAME +taler-mailbox.conf \- Taler mailbox configuration file +.SH DESCRIPTION +.sp +The configuration file is line\-oriented. Blank lines and whitespace at the +beginning and end of a line are ignored. Comments start with \fB#\fP or \fB%\fP +in the first column (after any beginning\-of\-line whitespace) and go to the end +of the line. +.sp +The file is split into sections. Every section begins with \fB[SECTIONNAME]\fP +and contains a number of options of the form \fBOPTION=VALUE\fP\&. There may be +whitespace around the \fB=\fP (equal sign). Section names and options are +\fIcase\-insensitive\fP\&. +.sp +The values, however, are \fIcase\-sensitive\fP\&. In particular, boolean values are +one of \fBYES\fP or \fBNO\fP\&. Values can include whitespace by surrounding the +entire value with \fB\(dq\fP (double quote). Note, however, that there are no +escape characters in such strings; all characters between the double quotes +(including other double quotes) are taken verbatim. +.sp +Values that represent a time duration are represented as a series +of one or more \fBNUMBER UNIT\fP pairs, e.g. \fB60 s\fP, \fB4 weeks 1 day\fP, +\fB5 years 2 minutes\fP\&. +.sp +Values that represent an amount are in the usual amount syntax: +\fBCURRENCY:VALUE.FRACTION\fP, e.g. \fBEUR:1.50\fP\&. +The \fBFRACTION\fP portion may extend up to 8 places. +.sp +Values that represent filenames can begin with a \fB/bin/sh\fP\-like variable +reference. This can be simple, such as \fB$TMPDIR/foo\fP, or complex, such as +\fB${TMPDIR:\-${TMP:\-/tmp}}/foo\fP\&. The variables are expanded either using +key\-values from the \fB[PATHS]\fP section (see below) or from the environment +(\fBgetenv()\fP). The values from \fB[PATHS]\fP take precedence over those from +the environment. If the variable name is found in neither \fB[PATHS]\fP nor the +environment, a warning is printed and the value is left unchanged. Variables (including those from the environment) are expanded recursively, so if \fBFOO=$BAR\fP and \fBBAR=buzz\fP then the result is \fBFOO=buzz\fP\&. Recursion is bounded to at most 128 levels to avoid undefined behavior for mutually recursive expansions like if \fBBAR=$FOO\fP in the example above. +.sp +The \fB[PATHS]\fP section is special in that it contains paths that can be +referenced using \fB$\fP in other configuration values that specify +\fIfilenames\fP\&. Note that configuration options that are not specifically +retrieved by the application as \fIfilenames\fP will not see “$”\-expressions +expanded. To expand \fB$\fP\-expressions when using \fBtaler\-config\fP, you must pass +the \fB\-f\fP command\-line option. +.sp +The system automatically pre\-populates the \fB[PATHS]\fP section with a few values +at run\-time (in addition to the values that are in the actual configuration +file and automatically overwriting those values if they are present). +These automatically generated values refer to installation properties +from \X'tty: link https://www.gnu.org/prep/standards/html_node/Directory-Variables.html'\fI\%GNU autoconf\fP\X'tty: link'\&. The +values are usually dependent on an \fBINSTALL_PREFIX\fP which is determined by +the \fB\-\-prefix\fP option given to configure. The canonical values are: +.INDENT 0.0 +.IP \(bu 2 +LIBEXECDIR = $INSTALL_PREFIX/taler/libexec/ +.IP \(bu 2 +DOCDIR = $INSTALL_PREFIX/share/doc/taler/ +.IP \(bu 2 +ICONDIR = $INSTALL_PREFIX/share/icons/ +.IP \(bu 2 +LOCALEDIR = $INSTALL_PREFIX/share/locale/ +.IP \(bu 2 +PREFIX = $INSTALL_PREFIX/ +.IP \(bu 2 +BINDIR = $INSTALL_PREFIX/bin/ +.IP \(bu 2 +LIBDIR = $INSTALL_PREFIX/lib/taler/ +.IP \(bu 2 +DATADIR = $INSTALL_PREFIX/share/taler/ +.UNINDENT +.sp +Note that on some platforms, the given paths may differ depending +on how the system was compiled or installed, the above are just the +canonical locations of the various resources. These +automatically generated values are never written to disk. +.sp +Files containing default values for many of the options described below +are installed under \fB$PREFIX/share/taler\-mailbox/config.d/\fP\&. +The configuration file given with \fB\-c\fP to taler\-mailbox binaries +overrides these defaults. +.sp +A configuration file may include another, by using the \fB@INLINE@\fP directive, +for example, in \fBmain.conf\fP, you could write \fB@INLINE@ sub.conf\fP to +include the entirety of \fBsub.conf\fP at that point in \fBmain.conf\fP\&. +.sp +Be extra careful when using \fBtaler\-mailbox\-config \-V VALUE\fP to change configuration +values: it will destroy all uses of \fB@INLINE@\fP and furthermore remove all +comments from the configuration file! +.SS GLOBAL OPTIONS +.sp +The following options are from the “[mailbox]” section. +.INDENT 0.0 +.TP +.B BASE_URL +The base URL of the service. If your service is proxied, the external base URL this service is availiable at. +Default: \fBhttps://example.com\fP +.TP +.B MAX_BODY_BYTES +Number of bytes of the challenge. +Default: \fB256\fP +.TP +.B MESSAGE_RESPONSE_LIMIT +Maximum number of messages returned in a single response. +Default: \fB50\fP +.TP +.B MONTHLY_FEE +Monthly fee of this service. +Default: \fBKUDOS:0\fP +.TP +.B REGISTRATION_UPDATE_FEE +Registration modification fee. +Default: \fBKUDOS:0\fP +.TP +.B MESSAGE_FEE +Cost for sending a message to a mailbox. +Default: \fBKUDOS:0\fP +.TP +.B FREE_MESSAGE_QUOTA +Number of messages that can be sent for free +Default: \fB0\fP +.TP +.B PENDING_REGISTRATION_EXPIRATION +Lifetime of a pending (unpaid) registration until it is purged from the database. +Default: \fB24h\fP +.UNINDENT +.SH SEE ALSO +.sp +taler\-mailbox\-dbinit(1), taler\-mailbox\-httpd(1), taler\-mailbox\-config(1). +.SH BUGS +.sp +Report bugs by using \X'tty: link https://bugs.taler.net/'\fI\%https://bugs.taler.net/\fP\X'tty: link' or by sending electronic +mail to <\X'tty: link mailto:taler@gnu.org'\fI\%taler@gnu.org\fP\X'tty: link'>. +.SH AUTHOR +GNU Taler contributors +.SH COPYRIGHT +2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+) +.\" Generated by docutils manpage writer. +. diff --git a/mailbox.conf.example b/taler-mailbox.conf.example