Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Crans Passwords
Manage
Activity
Members
Labels
Plan
Issues
5
Issue boards
Milestones
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Nounous
Crans Passwords
Commits
0a5af7ec
Commit
0a5af7ec
authored
11 years ago
by
Vincent Le gallic
Browse files
Options
Downloads
Patches
Plain Diff
--check-keys fonctionne. On signale si on n'arrive pas à importer gnupg, mais on ne crashe pas.
parent
0786b909
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
bash_completion
+5
-5
5 additions, 5 deletions
bash_completion
cranspasswords.py
+20
-7
20 additions, 7 deletions
cranspasswords.py
with
25 additions
and
12 deletions
bash_completion
+
5
−
5
View file @
0a5af7ec
...
@@ -23,7 +23,7 @@ _cranspasswords_completion(){
...
@@ -23,7 +23,7 @@ _cranspasswords_completion(){
cur="${COMP_WORDS[argc]}"
cur="${COMP_WORDS[argc]}"
cur_first_char=${cur:0:1}
cur_first_char=${cur:0:1}
opts_short="-h -v -c -f -l"
opts_short="-h -v -c -f -l"
opts="--help --server --verbose --clipboard --noclipboard --force --edit --view --remove --list --check-keys --update-keys --list-roles --recrypt-files --roles --list-servers"
opts="--help --server --verbose
--quiet
--clipboard --noclipboard --force --edit --view --remove --list --check-keys --update-keys --list-roles --recrypt-files --roles --list-servers"
mkdir -p -m 700 "$role_dir"
mkdir -p -m 700 "$role_dir"
mkdir -p -m 700 "$pass_dir"
mkdir -p -m 700 "$pass_dir"
...
@@ -48,14 +48,14 @@ _cranspasswords_completion(){
...
@@ -48,14 +48,14 @@ _cranspasswords_completion(){
fi
fi
if [[ "$last" = "--server" ]]; then
if [[ "$last" = "--server" ]]; then
server_list="`$cmd_name --list-servers | grep -- "*" | awk '{print $2}'`"
server_list="`$cmd_name
--quiet
--list-servers | grep -- "*" | awk '{print $2}'`"
COMPREPLY=( $(compgen -W "$server_list" -- $cur ) )
COMPREPLY=( $(compgen -W "$server_list" -- $cur ) )
return 0
return 0
fi
fi
if [[ "$last" = "--roles" ]]; then
if [[ "$last" = "--roles" ]]; then
if [ ! -f "${role_dir}$server" ]; then
if [ ! -f "${role_dir}$server" ]; then
echo "`$cmd_name --server $server --list-roles | grep -- "*" | awk '{print $2}'`" > "${role_dir}$server"
echo "`$cmd_name
--quiet
--server $server --list-roles | grep -- "*" | awk '{print $2}'`" > "${role_dir}$server"
fi
fi
role_list="`cat "${role_dir}$server"`"
role_list="`cat "${role_dir}$server"`"
COMPREPLY=( $(compgen -W "$role_list" -- $cur ) )
COMPREPLY=( $(compgen -W "$role_list" -- $cur ) )
...
@@ -64,7 +64,7 @@ _cranspasswords_completion(){
...
@@ -64,7 +64,7 @@ _cranspasswords_completion(){
if [[ "$last" = "--edit" ]]; then
if [[ "$last" = "--edit" ]]; then
if [ ! -f "${pass_dir}${server}-w" ]; then
if [ ! -f "${pass_dir}${server}-w" ]; then
echo "`$cmd_name --server $server -l | grep "+" | awk '{print $2}'`" > "${pass_dir}${server}-w"
echo "`$cmd_name
--quiet
--server $server -l | grep "+" | awk '{print $2}'`" > "${pass_dir}${server}-w"
fi
fi
pass_list="`cat "${pass_dir}${server}-w"`"
pass_list="`cat "${pass_dir}${server}-w"`"
COMPREPLY=( $(compgen -W "$pass_list" -- $cur ) )
COMPREPLY=( $(compgen -W "$pass_list" -- $cur ) )
...
@@ -73,7 +73,7 @@ _cranspasswords_completion(){
...
@@ -73,7 +73,7 @@ _cranspasswords_completion(){
if true; then
if true; then
if [ ! -f "${pass_dir}$server" ]; then
if [ ! -f "${pass_dir}$server" ]; then
echo "`$cmd_name --server $server -l | grep "\( +\| -\)" | awk '{print $2}'`" > "${pass_dir}$server"
echo "`$cmd_name
--quiet
--server $server -l | grep "\( +\| -\)" | awk '{print $2}'`" > "${pass_dir}$server"
fi
fi
pass_list="`cat "${pass_dir}$server"`"
pass_list="`cat "${pass_dir}$server"`"
COMPREPLY=( $(compgen -W "$pass_list" -- $cur ) )
COMPREPLY=( $(compgen -W "$pass_list" -- $cur ) )
...
...
This diff is collapsed.
Click to expand it.
cranspasswords.py
+
20
−
7
View file @
0a5af7ec
...
@@ -19,11 +19,16 @@ import re
...
@@ -19,11 +19,16 @@ import re
import
random
import
random
import
string
import
string
import
datetime
import
datetime
#import gnupg #disponible seulement sous wheezy
try
:
import
gnupg
#disponible seulement sous wheezy
except
ImportError
:
if
sys
.
stderr
.
isatty
()
and
not
any
([
opt
in
sys
.
argv
for
opt
in
[
"
-q
"
,
"
--quiet
"
]]):
sys
.
stderr
.
write
(
u
"
Package python-gnupg introuvable, vous ne pourrez pas vérifiez les clés.
\n
"
.
encode
(
"
utf-8
"
))
try
:
try
:
import
clientconfig
as
config
import
clientconfig
as
config
except
ImportError
:
except
ImportError
:
print
"
Read the README
"
if
sys
.
stderr
.
isatty
()
and
not
any
([
opt
in
sys
.
argv
for
opt
in
[
"
-q
"
,
"
--quiet
"
]]):
sys
.
stderr
.
write
(
u
"
Va lire le fichier README.
\n
"
.
encode
(
"
utf-8
"
))
sys
.
exit
(
1
)
sys
.
exit
(
1
)
#: pattern utilisé pour détecter la ligne contenant le mot de passe dans les fichiers
#: pattern utilisé pour détecter la ligne contenant le mot de passe dans les fichiers
...
@@ -184,7 +189,8 @@ def check_keys():
...
@@ -184,7 +189,8 @@ def check_keys():
failed
=
False
failed
=
False
for
(
mail
,
fpr
)
in
keys
.
values
():
for
(
mail
,
fpr
)
in
keys
.
values
():
if
fpr
:
if
fpr
:
if
VERB
:
print
(
u
"
Checking %s
"
%
(
mail
)).
encode
(
"
utf-8
"
)
if
VERB
:
print
(
u
"
Checking %s
"
%
(
mail
)).
encode
(
"
utf-8
"
)
corresponds
=
[
key
for
key
in
localkeys
if
key
[
"
fingerprint
"
]
==
fpr
]
corresponds
=
[
key
for
key
in
localkeys
if
key
[
"
fingerprint
"
]
==
fpr
]
# On vérifie qu'on possède la clé…
# On vérifie qu'on possède la clé…
if
len
(
corresponds
)
==
1
:
if
len
(
corresponds
)
==
1
:
...
@@ -237,7 +243,8 @@ def encrypt(roles, contents):
...
@@ -237,7 +243,8 @@ def encrypt(roles, contents):
stdin
.
close
()
stdin
.
close
()
out
=
stdout
.
read
().
decode
(
"
utf-8
"
)
out
=
stdout
.
read
().
decode
(
"
utf-8
"
)
if
out
==
''
:
if
out
==
''
:
if
VERB
:
print
u
"
Échec de chiffrement
"
.
encode
(
"
utf-8
"
)
if
VERB
:
print
u
"
Échec de chiffrement
"
.
encode
(
"
utf-8
"
)
return
None
return
None
else
:
else
:
return
out
return
out
...
@@ -442,6 +449,7 @@ def remove_file(fname):
...
@@ -442,6 +449,7 @@ def remove_file(fname):
def
my_check_keys
():
def
my_check_keys
():
"""
Vérifie les clés et affiche un message en fonction du résultat
"""
"""
Vérifie les clés et affiche un message en fonction du résultat
"""
print
u
"
Vérification que les clés sont valides (uid correspondant au login) et de confiance.
"
print
(
check_keys
()
and
u
"
Base de clés ok
"
or
u
"
Erreurs dans la base
"
).
encode
(
"
utf-8
"
)
print
(
check_keys
()
and
u
"
Base de clés ok
"
or
u
"
Erreurs dans la base
"
).
encode
(
"
utf-8
"
)
def
my_update_keys
():
def
my_update_keys
():
...
@@ -496,6 +504,8 @@ if __name__ == "__main__":
...
@@ -496,6 +504,8 @@ if __name__ == "__main__":
help
=
"
Utilisation d
'
un serveur alternatif (test, backup, etc)
"
)
help
=
"
Utilisation d
'
un serveur alternatif (test, backup, etc)
"
)
parser
.
add_argument
(
'
-v
'
,
'
--verbose
'
,
action
=
'
store_true
'
,
default
=
False
,
parser
.
add_argument
(
'
-v
'
,
'
--verbose
'
,
action
=
'
store_true
'
,
default
=
False
,
help
=
"
Mode verbeux
"
)
help
=
"
Mode verbeux
"
)
parser
.
add_argument
(
'
-q
'
,
'
--quiet
'
,
action
=
'
store_true
'
,
default
=
False
,
help
=
"
Mode silencieux. Cache les message d
'
erreurs (override --verbose).
"
)
parser
.
add_argument
(
'
-c
'
,
'
--clipboard
'
,
action
=
'
store_true
'
,
default
=
None
,
parser
.
add_argument
(
'
-c
'
,
'
--clipboard
'
,
action
=
'
store_true
'
,
default
=
None
,
help
=
"
Stocker le mot de passe dans le presse papier
"
)
help
=
"
Stocker le mot de passe dans le presse papier
"
)
parser
.
add_argument
(
'
--no-clip
'
,
'
--noclip
'
,
'
--noclipboard
'
,
action
=
'
store_false
'
,
default
=
None
,
parser
.
add_argument
(
'
--no-clip
'
,
'
--noclip
'
,
'
--noclipboard
'
,
action
=
'
store_false
'
,
default
=
None
,
...
@@ -541,7 +551,8 @@ if __name__ == "__main__":
...
@@ -541,7 +551,8 @@ if __name__ == "__main__":
parsed
=
parser
.
parse_args
(
sys
.
argv
[
1
:])
parsed
=
parser
.
parse_args
(
sys
.
argv
[
1
:])
SERVER
=
config
.
servers
[
parsed
.
server
]
SERVER
=
config
.
servers
[
parsed
.
server
]
VERB
=
parsed
.
verbose
QUIET
=
parsed
.
quiet
VERB
=
parsed
.
verbose
and
not
QUIET
if
parsed
.
clipboard
!=
None
:
if
parsed
.
clipboard
!=
None
:
CLIPBOARD
=
parsed
.
clipboard
CLIPBOARD
=
parsed
.
clipboard
FORCED
=
parsed
.
force
FORCED
=
parsed
.
force
...
@@ -551,8 +562,10 @@ if __name__ == "__main__":
...
@@ -551,8 +562,10 @@ if __name__ == "__main__":
if
parsed
.
action
.
func_code
.
co_argcount
==
0
:
if
parsed
.
action
.
func_code
.
co_argcount
==
0
:
parsed
.
action
()
parsed
.
action
()
elif
parsed
.
fname
==
None
:
elif
parsed
.
fname
==
None
:
print
u
"
Vous devez fournir un nom de fichier avec cette commande
"
.
encode
(
"
utf-8
"
)
if
not
QUIET
:
parser
.
print_help
()
print
u
"
Vous devez fournir un nom de fichier avec cette commande
"
.
encode
(
"
utf-8
"
)
parser
.
print_help
()
sys
.
exit
(
1
)
else
:
else
:
parsed
.
action
(
parsed
.
fname
)
parsed
.
action
(
parsed
.
fname
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment