diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/wydawca.texi | 71 |
1 files changed, 70 insertions, 1 deletions
diff --git a/doc/wydawca.texi b/doc/wydawca.texi index ab18e47..7e69831 100644 --- a/doc/wydawca.texi +++ b/doc/wydawca.texi @@ -1189,6 +1189,8 @@ releases). @smallexample @group sql @var{id} @{ + config-file @var{file}; + config-group @var{group}; host @var{hostname}; database @var{dbname}; user @var{username}; @@ -1199,11 +1201,57 @@ sql @var{id} @{ @end smallexample Here, @var{id} is a string uniquely identifying this -database. It is used by another configuration statements (e.g. by +database. It is used by other configuration statements (e.g. by dictionaries, see the next section) to refer to this database. @end deffn +@deffn {Config: sql} config-file @var{name} + Set the name of the @acronym{SQL} configuration file to read. +@end deffn + +@deffn {Config: sql} config-group @var{name} + Set the name of the group in the @acronym{SQL} configuration file, +from where to read configuration options. +@end deffn + + The statements above allow to keep all security-sensitive +information, such as @acronym{SQL} username and password, in an +external configuration file and thus to relax permission requirements +for @file{wydawca.rc}. The exact format of such external configuration +file depends on the flavor of @acronym{SQL} @acronym{DBMS} in use. +As of version @value{VERSION} @command{wydawca} supports only +@samp{MySQL}, so the configuration file is what is called @dfn{option +file} in @samp{MySQL} parlance (@pxref{option-files, Using Option +Files,,mysql,MySQL Manual}). + + For example, suppose your @file{wydawca.rc} contains the following: + +@smallexample +sql default @{ + config-file /etc/wydawca.mysql; + config-group wydawca; +@} +@end smallexample + +@noindent + Then, the @file{/etc/wydawca.mysql} would contain the actual +parameters for accessing the database, e.g.: + +@smallexample +[wydawca] +socket = /var/db/mysql.sock +database = savane +user = savane +pass = guessme +@end smallexample + + Another way to specify database credentials is by using the +statements described below. If you prefer this way, you will have to +tighten the permissions of @file{wydawca.rc} so that no third person +could see the @acronym{SQL} password. The recommended permissions are +@samp{0600}. + @deffn {Config: sql} host @var{hostname}[:@var{port-or-socket}] Set the hostname or @acronym{IP} address of the host running the database. Optional @var{port-or-socket} specifies port number (for @@ -1243,6 +1291,22 @@ sql default @{ @end group @end smallexample + It is possible to combine both methods, e.g.: + +@smallexample +@group +sql default @{ + config-file /etc/wydawca.sql; + host project.database.com:3306; + database savane; +@} +@end group +@end smallexample + + Then, @command{wydawca} will attempt to obtain the missing +information (username and password, in this case) from the +@file{/etc/wydawca.sql} file. + @node dictionaries @section Dictionaries @cindex dictionaries @@ -2822,6 +2886,11 @@ gpg-homedir @var{arg:@i{string}}; # @r{Define SQL database}. # @xref{sql}. sql @var{id:@i{string}} @{ + # @r{Set the name of the configuration file to read.} + config-file @var{name:@i{string}}; + # @r{Set the name of the configuration file group to use.} + config-group @var{name:@i{string}}; + # @r{Set SQL server hostname or IP address.} host @var{host:@i{string}}; |