Libelektra: рдкрд░реАрдХреНрд╖рдг рдЕрд╕реАрдорд┐рдд gpg- рдПрдЬреЗрдВрдЯ рд╕реНрдкреЙрди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЕрдкреНрд░реИрд▓ 2018  ┬╖  36рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ElektraInitiative/libelektra

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

  • рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ, рдпрд╛ v2 рд╕рд░реНрд╡рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
  • рдкрд░реАрдХреНрд╖рдг make run_nokdbtests рдЪрд▓рд╛рдПрдВ
  • ps -ef
  • рдкрд░реАрдХреНрд╖рдг make run_nokdbtests рдЪрд▓рд╛рдПрдВ
  • ps -ef
  • ????
  • рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕рднреА рдкрд┐рдб рдХрд╣рд╛рдВ рдЧрдП

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж gpg- рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ gpg- рдПрдЬреЗрдВрдЯ рдкреИрджрд╛ рд╣реЛрддреЗ рд╣реИрдВ

рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА

  • Elektra рд╕рдВрд╕реНрдХрд░рдг: рдорд╛рд╕реНрдЯрд░

рдЖрдЧреЗ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ

+ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 05:57 pts/0    00:00:00 bash
root     11296     1  0 07:01 pts/0    00:00:00 sh -c /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py 
root     11297 11296  0 07:01 pts/0    00:00:00 /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py write 
root     28509     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.NmmZ2I/.gnupg --use-standard-soc
root     28519     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.6mb1t2/.gnupg --use-standard-soc
root     28539     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.5XdxDR/.gnupg --use-standard-soc
root     30656     1  0 08:00 pts/0    00:00:00 ps -ef
+ make run_nokdbtests
+ ps -ef
+ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 05:57 pts/0    00:00:00 bash
root     11296     1  0 07:01 pts/0    00:00:00 sh -c /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py 
root     11297 11296  0 07:01 pts/0    00:00:00 /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py write 
root     28509     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.NmmZ2I/.gnupg --use-standard-soc
root     28519     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.6mb1t2/.gnupg --use-standard-soc
root     28539     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.5XdxDR/.gnupg --use-standard-soc
root     30778     1  0 08:02 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.GZbzqb/.gnupg --use-standard-soc
root     30788     1  0 08:02 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.PEjcKs/.gnupg --use-standard-soc
root     30808     1  0 08:02 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.d6yL2g/.gnupg --use-standard-soc
root     30923     1  0 08:02 pts/0    00:00:00 ps -ef
bug work in progress

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдЖрдкрдХреЛ рдлрд┐рд░ рднреА GNUPGHOME рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ (рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ lingering pgp- рдПрдЬреЗрдВрдЯ рдЖрдВрд╕рд░рд┐рдВрдЧ рдХреЙрд▓ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?)ред

рдФрд░ рдЕрдЧрд░ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА GNUPGHOME рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ env рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╢реАрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рд╡рд╛рддрд╛рд╡рд░рдгред

рд╕рднреА 36 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@ petermax2 рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди gpg рдХрдорд╛рдВрдб рдЬрд╛рдпреЗрдВ ?

Ooops рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ gpg рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдПрдЬреЗрдВрдЯ рд╕реЗ рдЬреБрдбрд╝реЗрдЧрд╛ред рдореИрдВ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред

@ markus2330 рдпрд╣ рднреА рдХрд╛рд░рдг рд╣реИ рдХрд┐ v2 рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ gpg рдПрдЬреЗрдВрдЯ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ 1000: 1000 рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдбреЙрдХрдЯрд░ рддрдХ рд╣реА рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ: рдбреЗрдмрд┐рдпрди-рд╕реНрдЯреНрд░реЗрдЪ-рдорд┐рдирд┐рдорд▓ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ 250 рднреА рд╣реИрдВ

рдХреБрдЫ рдиреЛрдбреНрд╕ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ gpg- рдПрдЬреЗрдВрдЯ рдХреЛ рд╕реНрдкреЙрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╢рд╛рдпрдж, рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рд╣реЛрдЧреА)

рдЗрд╕ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рджреЛрдиреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдХреБрдЫ рдиреЛрдбреНрд╕ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ gpg- рдПрдЬреЗрдВрдЯ рдХреЛ рд╕реНрдкреЙрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╢рд╛рдпрдж, рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рд╣реЛрдЧреА)

рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдмрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝ рд╕рдХрддреА рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ gpg- рдПрдЬреЗрдВрдЯ (# 1888) рд╣реИред

рд╢рд╛рдпрдж gpg рдПрдЬреЗрдВрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╢рд╛рдо рдХреЛ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рд╣реИред

mh рдЖрдорддреМрд░ рдкрд░ GPG_AGENT_INFO рддрдм рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдПрдХ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрддреАрдд рдореЗрдВ рд╣рдордиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕рд╛рдл рдХрд░ рджрд┐рдпрд╛ рдерд╛ рддрд╛рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрддреАрдд рдореЗрдВ рдХрдИ рд╢реБрд░реВ рд╣реЛ рдЧрдПред рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ рдпрд╣ рдЕрднреА рднреА рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ ...

@ petermax2 рдХреЗ рд▓рд┐рдП

  • testmod_fcrypt
  • testmod_crypto_openssl
  • testmod_crypto_gcrypt

testmod_crypto_botan рдмрд┐рд▓реНрдХреБрд▓ testmod_crypto_gcrypt рдФрд░ testmod_crypto_openssl рддрд░рд╣ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдмреЛрдЯрди рдЯреЗрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

@ petermax2 рд╢рд╛рдпрдж рд╣рд╛рдБред рдЬрд┐рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╡рд╣рд╛рдВ рдХреЛрдИ рд╡рдирд╕реНрдкрддрд┐ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдереАред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдпрд╣рд╛рдБ рдЪрд▓ рд░рд╣рд╛

рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди --no-autostart рддрд░реНрдХ рдХреЗ рд╕рд╛рде gpg рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ gpg рдЕрднреА рднреА рдПрдЬреЗрдВрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред --no-use-agent рдПрдХ рдордЬрд╛рдХрд┐рдпрд╛ рд╣реИред рдЖрджрдореА рдкреГрд╖реНрда рдкрдврд╝рддрд╛ рд╣реИ:

--no-use-agent 
              This is dummy option. gpg2 always requires the agent.

рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдмрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝ рд╕рдХрддреА рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ gpg- рдПрдЬреЗрдВрдЯ (# 1888) рд╣реИред

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдПрдХ рд╢реЙрдЯ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╛ рдХреНрд░реЛрди-рдЬреЙрдм рдХреА рддрд░рд╣ рд╣реИ

pgrep gpg-agent | xargs -d "\n" kill

рдпрд╛ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ / рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ рд╕рдорд╛рди рд╣реИ?

рдпрджрд┐ рдПрдЬреЗрдВрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдпрджрд┐ рдЗрд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕рдлрд╛рдИ рдПрдЬреЗрдВрдЯ рдмрдВрдж рдХрд░реЛред рдмрд╛рдХреА рд╕рдм рдПрдХ рд╣реИрдХ рд╣реИред

рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдПрдХрдорд╛рддреНрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрдд рдФрд░ рд░реЛрдХ рдХрд╣рд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣рдорд╛рд░реЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдПрдЬреЗрдВрдЯреЛрдВ / рдбреЙрдХрд░реЛрдВ рдХреЗ рднреАрддрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рд╡рд╣реА рд╕реАрдЦрд╛ рд╣реИ рдЬреЛ рдЕрдм рддрдХ:

--no-autostart рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде gpg-agent рдХреЗ рдСрдЯреЛ-рд╕реНрдЯрд╛рд░реНрдЯ рдХреЛ рджрдмрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЕрдЧрд░ рд▓рдЧрд╛рддрд╛рд░ рд╕рднреА gpg рдХреЙрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд┐рдирд╛ gpg-agent gpg2 рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рдХреБрдВрдЬреА (рдпрд╛рдиреА рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди, рд╣рд╕реНрддрд╛рдХреНрд╖рд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

gpg-agent --server рдХрд╛ рдХрд╛рдВрдЯрд╛ рджреЗрдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ gpg2 рдПрдЬреЗрдВрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ GPG_AGENT_INFO рдкрджрд╛рд╡рдирдд рд╣реИ рдФрд░ gpg2 рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рднреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ gpg-agent --daemon рдлреЛрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдореБрдЭреЗ рдЕрднреА рд╢реБрд░реВ рдХрд┐рдП рдЧрдП gpg-agent рдХреЗ PID рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдореИрдВ SIGTERM рдХрд░ рд╕рдХреВрдВред

рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣рдорд╛рд░реЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдПрдЬреЗрдВрдЯреЛрдВ / рдбреЙрдХрд░реЛрдВ рдХреЗ рднреАрддрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ :-)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯреНрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдирд┐рд░реНрдгрдп рдХреЛ рдмрд╕ gpg рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рд╣реА рдерд╛ред

Gpg- рдПрдЬреЗрдВрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ / рд░реЛрдХрдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо "рдЙрдкрдпреЛрдЧ-рдПрдЬреЗрдВрдЯ" рдХреЛ .gnupg / gpg.ff рдореЗрдВ рднреА рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЗ рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯрд┐рдВрдЧ (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдмрд╛рдж рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдПрдХ рдирдИ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯреНрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдирд┐рд░реНрдгрдп рдХреЛ рдмрд╕ gpg рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рд╣реА рдерд╛ред

рдЙрддреНрдкрд╛рджрди рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рдпрд╣ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдореЗрд░реА рдорд╢реАрди рдкрд░ crypto рдФрд░ fcrypt рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдПрдЬреЗрдВрдЯ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдореЗрд░реА Yubikey рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ, рд╣рдо рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдЬреЗрдВрдЯ рдХрд╛ рдПрдХ рднреА рдЙрджрд╛рд╣рд░рдг рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо environemnt рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ @ingwinlu рдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо environemnt рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ

рд╣рдореЗрдВ рдЕрдм рдФрд░ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдореБрджреНрджрд╛ рдХрд╛рдпрдо рд╣реИ

рдЕрдЧрд░ gpg- рдПрдЬреЗрдВрдЯ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд░рди рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рд░рди рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдХрднреА рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╕рдВрдж рд╣реИрдВ:

  1. рд╣рдо рдареАрдХ рд╕реЗ TESTING.md рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рднреАрддрд░ gpg рдПрдЬреЗрдВрдЯ рдХреЛ рд╢реБрд░реВ / рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ gpg рдПрдЬреЗрдВрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ (# 1888 рджреЗрдЦреЗрдВ)ред
  2. рд╣рдо gpg рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ (.gnupg / gpg.conf рдореЗрдВ "рдЙрдкрдпреЛрдЧ-рдПрдЬреЗрдВрдЯ" рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП) рдФрд░ TESTING.md рдореЗрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝рд┐рдд рдХрд░реЗрдВ (# 1888 рджреЗрдЦреЗрдВ)ред

рдПрдХ рд╕реЗрдЯрдЕрдк, рдЬрд╣рд╛рдВ рдбреЗрдореЙрди рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рддрд░реАрдХреЗ рдХреЗ рдмрд┐рдирд╛ рдСрди-рдбрд┐рдорд╛рдВрдб рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ рдХрд┐ рдбреЗрдореЙрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдПрдирд╡реА рд╕рдВрд╕реНрдХрд░рдг рд╡реИрд╢реНрд╡рд┐рдХ рдирд╣реАрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ), рдЯреВрдЯрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рднреАрддрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

https://stackoverflow.com/questions/27459869/how-to-stop-gpg-2-1-spawning-many-agents-for-unit-testing

рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг --homedir рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдПрдХ рдПрдХрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред GnuPG 2.1 рд╕реЗ, рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрдЪрд╛рд░ GnuPG homedirectory рдореЗрдВ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рд╣реЛрдордбрд┐рдпрд░ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ https://dev.gnupg.org/T3218 рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛ "(рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм) рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрд╕ рдЬреАрдкреАрдЬреА-рдПрдЬреЗрдВрдЯ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдкреНрд░реВрдл рд╡реЗрд░рд┐рдПрдВрдЯ рд╣реЛ (рд╣рдорд╛рд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ)ред рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ gpg- рдПрдЬреЗрдВрдЯ рдХрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЕрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИред (рдЬреЛ рдореЗрд░рд╛ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддрд╛ рд╣реИ 2. рдирд┐рд░рд░реНрдердХ рд╕реЗ рдКрдкрд░)

рд╣рдо рд╣реЛрдордбрд┐рдпрд░ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╛рдБ, рдореИрдВрдиреЗ рдпрд╣ рдирд╣реАрдВ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ (рдСрдк рджреЗрдЦреЗрдВ) рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдПрдЬреЗрдВрдЯ рдПрдХ рдЕрд▓рдЧ рдХреЗ рд╕рд╛рде рдкреИрджрд╛ рд╣реБрдП рдереЗред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рдерд╛, рдореИрдВрдиреЗ рд╕реАрдЦрд╛ рдХрд┐ gpg- рдПрдЬреЗрдВрдЯ рдХрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЕрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИред

рдЬреЛ рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рд╢реБрд░реВ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВред

рд╣рдо рд╣реЛрдордбрд┐рдпрд░ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╛рдБ, рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ op)

рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ --home-dir рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди ps -ef revelas рдХрд┐ gpg рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

https://wiki.archlinux.org/index.php/GnuPG

$ GNUPGHOME рдХрд╛ рдЙрдкрдпреЛрдЧ GnuPG рджреНрд╡рд╛рд░рд╛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ $ GNUPGHOME рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ $ HOME рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдареАрдХ рдмрд╛рдж рдПрдХ ~ / .gnupg рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдорд┐рд▓реЗрдЧреАред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ gpg $ gpg --homedir рдкрд╛рде / рд╕реЗ / рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд▓рд╛рдПрдВ рдпрд╛ GNUPGHOME рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
`` `
@ petermax2 рдХреНрдпрд╛ рдЖрдк

рдпрд╣ рднреА рджрд┐рд▓рдЪрд╕реНрдк https://www.gnupg.org/documentation/manuals/gnupg/Ephemeral-home-direct.com

рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрдирд╛рдПрдВ (рдпрд╛ рдХреЙрдкреА рдХрд░реЗрдВ), рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдпрд╛ рддреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ GNUPGHOME, рдпрд╛ рд╡рд┐рдХрд▓реНрдк --homedir рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред GPGME рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдЗрдВрдЬрди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ, рдкреНрд░рддрд┐-рд╕рдВрджрд░реНрдн рдЖрдзрд╛рд░ рдкрд░ рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ рдЬреЛ рднреА рдСрдкрд░реЗрд╢рди рдкрд╕рдВрдж рд╣реИ рдЙрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВред рдПрдХ рдмрд╛рд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, рдЖрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╢реБрд░реВ рдХреА рдЧрдИ рд╕рднреА GnuPG рдмреИрдХрдПрдВрдб рд╕реЗрд╡рд╛рдПрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреА рдФрд░ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреА

рдореЗрд░реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдЕрдкрдиреЗ рдЖрдк рд╣реА рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ред

@ petermax2 рдХреНрдпрд╛ рдЖрдк

рд╣рд╛рдБ, HOME рдЙрдкрд▓рдмреНрдз рд╣реИ:

HOME = /tmp/elektra-test.3vLR4L

рдареАрдХ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдореЗрдВ рдХреБрдЫ рд╣реИ, рдЬреЛ рд╣реЛрдо рдХреЛ рдПрдХ tmp рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА (рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реИ) рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рд╡рд╣ рд╕рдлрд╛рдИ рдХреЗ рджреМрд░рд╛рди рдЕрднреА рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ рддреЛ рдЗрд╕реЗ рдПрдЬреЗрдВрдЯ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рдирд┐рд░реНрдзрд╛рд░рдг рд╣реЛрдЧрд╛ред

рдЕрдЧрд░ рд╣рдо рдХреЗрд╡рд▓ GNUPGHOME gpg-agent рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реА рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ GNUPGHOME рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

GNUPGHOME рд╕реЗрдЯ рдХреЗ рд╕рд╛рде, рдХреЗрд╡рд▓ рдПрдХ gpg-agent mulitple рдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рдмрд╛рдж рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдЖрдкрдХреЛ рдлрд┐рд░ рднреА GNUPGHOME рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ (рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ lingering pgp- рдПрдЬреЗрдВрдЯ рдЖрдВрд╕рд░рд┐рдВрдЧ рдХреЙрд▓ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?)ред

рдФрд░ рдЕрдЧрд░ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА GNUPGHOME рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ env рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╢реАрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рд╡рд╛рддрд╛рд╡рд░рдгред

рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдИ:

#!/bin/bash
mkdir /tmp/x
export GNUPGHOME=/tmp/x
for run in {1..1000000}
do
    ctest -R crypto_openssl &
done

рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗред GPG рдХреЛ рд▓реЙрдХрд┐рдВрдЧ рдЖрджрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рд┐рдВрдЧ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдпрд╣ рдЙрд╕ рддрд░рд╣ рд╕реЗ рд╣реИ, рдЬрдм gpg-agent рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЕрдкрдиреЗ рдкреАрдЖрдИрдбреА тАЛтАЛрдХреЛ рдХреБрдЫ рдЬрдЧрд╣ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХреЗрд╡рд▓ SIGTERM рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА fork gpg-agent рдХреЗ рд╕рд╛рде рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рднреАрддрд░ рд╕реЗ --server рд╡рд┐рдХрд▓реНрдк рд╣реИ, рддреЛ рд╣рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрдИрдбреА рд╣реЛрддрд╛ kill рдмрд╛рдж рдореЗрдВред рд▓реЗрдХрд┐рди рддрдм gpg-agent рдЖрд╡рд╢реНрдпрдХ $GNUPGHOME рдкрд░ рд╕реЙрдХреЗрдЯ рдирд╣реАрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдПрдЬреЗрдВрдЯ рдХреЗ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рддреЗ рд╣реИрдВ (рдЬреЛ --daemon рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред --server рдореЛрдб рдореЗрдВ рд╣реЛрдиреЗ рдкрд░ gpg-agent рдХрд┐рд╕реА рднреА рд╕реЙрдХреЗрдЯ рдХреЛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рдореИрдВрдиреЗ gpg-agent рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдпрд╣ рдЬрд╛рдБрдЪ рдХреА)ред

gpg-agent рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИред рдореИрдВ gpg-agent рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рднреА рдкрдврд╝ рд░рд╣рд╛ рдерд╛ред рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк SIGTERM ред

рд╕рдорд╛рдирддрд╛

рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк gpg-agent рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рди рдХрд░реЗрдВред рдпрд╛рдиреА рдЖрдк рдХреЗрд╡рд▓ рдПрдЬреЗрдВрдЯ рдХреЛ рдЯреЗрд╕реНрдЯ рдХреА рдЪрд╛рдмреА рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдПрдЬреЗрдВрдЯ рдХреЛ рдЯреЗрд╕реНрдЯ рдмреА рдХреЗ рд▓рд┐рдП рдЪрд╛рдмреА рджреЗрдирд╛ рд╣реИред рдЕрдЧрд░ рд╡рд╣ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рддреЛ рдПрдХ рд╣рд╛рд░реНрдбрдХреЛрдб tmp рдШрд░ рдареАрдХ рд╣реИред

Gpg- рдПрдЬреЗрдВрдЯ рдХреА рд╣рддреНрдпрд╛

рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ (рдКрдкрд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ) рдЖрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЕрд╕реНрдерд╛рдпреА gpg- рдПрдЬреЗрдВрдЯ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рдЕрдкрдиреА gpg рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк GNUPGHOME рдХреЛ /tmp/elektra_tests/gpg рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЗрд╕ tmp рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк GNUPGHOME рдХреЛ / tmp / elektra_tests / gpg рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕рдлрд╛рдИ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ tmp рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рдЗрд╕ рдлрд┐рдХреНрд╕ рдХреЛ crypto рдФрд░ fcrypt рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реВрдВрдЧрд╛ред рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИред рдкреАрдЖрд░ рдХрд▓ рдЖ рд░рд╣рд╛ рд╣реИред

# 2056 рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдкреБрдирдГ рдЦреЛрд▓реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕