File: conf_convert

package info (click to toggle)
rssh 2.3.4-5+deb9u4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,036 kB
  • sloc: ansic: 4,437; sh: 1,069; makefile: 62; awk: 19
file content (48 lines) | stat: -rw-r--r-- 1,321 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/awk -f
#
# conf_convert - convert rssh  config files  from 2.0, 2.1.1, 2.2 format
#                to  rssh  2.3.2  format config  files  adding  svnserve
#                support
#
# Copyright (C) 2009 Davide Scola <davide.scola@gmail.com>
#
# 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 2, 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,  write  to  the  Free  Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
#
BEGIN {
	FS = OFS = ":";
}

{
	if( /^[# ]*user *= */ && match($3, /^([01]+)/) ) {
		gsub(/^([01]+)/, replaceString( RLENGTH ), $3);
	}

	print
}

function replaceString(nitems) {
	str = "&";

	if(nitems == 2) { # config < v2.2
		str = "000&0";
	}

	else if(nitems == 5) { # v2.2 <= config <= v2.3.2 (vanilla)
		str = "&0";
	}

	return str;
}