.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "UPGRADE_SYMPA_PASSWORD 1" .TH UPGRADE_SYMPA_PASSWORD 1 "2020-12-30" "6.2.58" "sympa 6.2.58" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" upgrade_sympa_password, upgrade_sympa_password.pl \- Upgrading password in database .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& upgrade_sympa_password.pl [\-\-dry_run|\-n] [\-\-debug|d] [\-\-verbose|v] [\-\-config file ] [\-\-cache file] [\-\-nosavecache] [\-\-noupdateuser] [\-\-limit|l number_of_users] .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\-\-dry_run|\-n" 4 .IX Item "--dry_run|-n" Shows what will be done but won't really perform the upgrade process. .IP "\-\-debug|\-d" 4 .IX Item "--debug|-d" Print additional debugging information during the upgrade process. .IP "\-\-verbose|\-v" 4 .IX Item "--verbose|-v" Print verbose logging messages during the upgrade process. .IP "\-\-config \s-1FILENAME\s0" 4 .IX Item "--config FILENAME" Specify the pathname of the file to use as the Sympa configuration file. Otherwise the system default Sympa configuration file is used. .IP "\-\-cache \s-1FILENAME\s0" 4 .IX Item "--cache FILENAME" Specify the pathname of a file to store precalculated hashes for reuse on subsequent runs of the script. .Sp The file is created if it does not already exist. .Sp This option is useful for large sites using intentionally expensive password hashes such as bcrypt. In that case this script can be run in advance to precalculate hashes and reduce the time required during the final upgrade process. .Sp \&\s-1WARNING:\s0 since it contains sensitive password data, this file should be protected as carefully as any other password file, or a database dump of the Sympa user_table. .IP "\-\-nosavecache" 4 .IX Item "--nosavecache" Disables updates of the cache. The cache is still consulted if specified with \f(CW\*(C`\-\-cache\*(C'\fR. .IP "\-\-noupdateuser" 4 .IX Item "--noupdateuser" Disables updates of the user_table. Mostly useful when precalculating user hashes in advance. .SH "DESCRIPTION" .IX Header "DESCRIPTION" Versions later than 5.4 use one-way hashes instead of symmetric encryption to store passwords. This script upgrades any symmetric encrypted passwords it finds to one-way hashes. .PP Versions later than 6.2.26 support bcrypt. .PP This upgrade requires to rewriting user password entries in the database. This upgrade \s-1IS NOT REVERSIBLE.\s0 .SH "HISTORY" .IX Header "HISTORY" As of Sympa 3.1b.7, passwords may be stored into user table with encrypted form by reversible \s-1RC4.\s0 .PP Sympa 5.4 or later uses \s-1MD5\s0 one-way hash function to encode user passwords. .PP Sympa 6.2.26 or later has optional support for bcrypt.