2 # - add trigger to enable this:
3 # * sshd(8): This release turns on pre-auth sandboxing sshd by default for
4 # new installs, by setting UsePrivilegeSeparation=sandbox in sshd_config.
7 %bcond_without audit # sshd audit support
8 %bcond_with gnome # with gnome-askpass (GNOME 1.x) utility
9 %bcond_without gtk # without GTK+ (2.x)
10 %bcond_without ldap # with ldap support
11 %bcond_without libedit # without libedit (editline/history support in sftp client)
12 %bcond_without kerberos5 # without kerberos5 support
13 %bcond_without selinux # build without SELinux support
14 %bcond_without libseccomp # use libseccomp for seccomp privsep (requires 3.5 kernel)
15 %bcond_with hpn # High Performance SSH/SCP - HPN-SSH including Cipher NONE (broken too often)
18 # gtk2-based gnome-askpass means no gnome1-based
19 %{?with_gtk:%undefine with_gnome}
21 %if "%{pld_release}" != "ac"
22 %define sandbox %{!?with_libseccomp:seccomp_filter}%{?with_seccomp:libseccomp_filter}
25 %if "%{pld_release}" == "ac"
26 %define pam_ver 0.79.0
28 %define pam_ver 1:1.1.8-5
30 Summary: OpenSSH free Secure Shell (SSH) implementation
31 Summary(de.UTF-8): OpenSSH - freie Implementation der Secure Shell (SSH)
32 Summary(es.UTF-8): Implementación libre de SSH
33 Summary(fr.UTF-8): Implémentation libre du shell sécurisé OpenSSH (SSH)
34 Summary(it.UTF-8): Implementazione gratuita OpenSSH della Secure Shell
35 Summary(pl.UTF-8): Publicznie dostępna implementacja bezpiecznego shella (SSH)
36 Summary(pt.UTF-8): Implementação livre OpenSSH do protocolo 'Secure Shell' (SSH)
37 Summary(pt_BR.UTF-8): Implementação livre do SSH
38 Summary(ru.UTF-8): OpenSSH - свободная реализация протокола Secure Shell (SSH)
39 Summary(uk.UTF-8): OpenSSH - вільна реалізація протоколу Secure Shell (SSH)
45 Group: Applications/Networking
46 Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/%{name}-%{version}.tar.gz
47 # Source0-md5: 08f72de6751acfbd0892b5f003922701
48 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
49 # Source1-md5: 66943d481cc422512b537bcc2c7400d1
50 Source2: %{name}d.init
51 Source3: %{name}d.pamd
52 Source4: %{name}.sysconfig
54 Source6: ssh-agent.conf
55 Source7: %{name}-lpk.schema
59 Source12: sshd@.service
60 Patch0: %{name}-no_libnsl.patch
61 Patch2: %{name}-pam_misc.patch
62 Patch3: %{name}-sigpipe.patch
63 # http://pkgs.fedoraproject.org/gitweb/?p=openssh.git;a=tree
64 Patch4: %{name}-ldap.patch
65 Patch5: %{name}-ldap-fixes.patch
66 Patch6: ldap.conf.patch
67 Patch7: %{name}-config.patch
68 Patch8: ldap-helper-sigpipe.patch
69 # High Performance SSH/SCP - HPN-SSH - http://www.psc.edu/networking/projects/hpn-ssh/
70 # http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.2p1-hpn13v6.diff.gz
71 Patch9: %{name}-5.2p1-hpn13v6.diff
72 Patch10: %{name}-include.patch
73 Patch11: %{name}-chroot.patch
75 Patch14: %{name}-bind.patch
76 Patch15: %{name}-disable_ldap.patch
77 Patch16: libseccomp-sandbox.patch
78 URL: http://www.openssh.com/portable.html
79 BuildRequires: %{__perl}
80 %{?with_audit:BuildRequires: audit-libs-devel}
81 BuildRequires: autoconf >= 2.50
82 BuildRequires: automake
83 %{?with_gnome:BuildRequires: gnome-libs-devel}
84 %{?with_gtk:BuildRequires: gtk+2-devel}
85 %{?with_kerberos5:BuildRequires: heimdal-devel >= 0.7}
86 %{?with_libedit:BuildRequires: libedit-devel}
87 BuildRequires: libseccomp-devel
88 %{?with_selinux:BuildRequires: libselinux-devel}
89 %{?with_ldap:BuildRequires: openldap-devel}
90 BuildRequires: openssl-devel >= 0.9.8f
91 BuildRequires: pam-devel
92 %{?with_gtk:BuildRequires: pkgconfig}
93 BuildRequires: rpm >= 4.4.9-56
94 BuildRequires: rpmbuild(macros) >= 1.627
95 BuildRequires: sed >= 4.0
96 BuildRequires: zlib-devel >= 1.2.3
97 %if %{with tests} && 0%(id -u sshd >/dev/null 2>&1; echo $?)
98 BuildRequires: %{name}-server
100 Requires: zlib >= 1.2.3
101 %if "%{pld_release}" == "ac"
102 Requires: filesystem >= 2.0-1
103 Requires: pam >= 0.79.0
105 Requires: filesystem >= 3.0-11
106 Requires: pam >= %{pam_ver}
107 Suggests: xorg-app-xauth
109 %{?with_libseccomp:Requires: uname(release) >= 3.5}
111 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
113 %define _sysconfdir /etc/ssh
114 %define _libexecdir %{_libdir}/%{name}
115 %define _privsepdir /usr/share/empty
116 %define schemadir /usr/share/openldap/schema
119 Ssh (Secure Shell) a program for logging into a remote machine and for
120 executing commands in a remote machine. It is intended to replace
121 rlogin and rsh, and provide secure encrypted communications between
122 two untrusted hosts over an insecure network. X11 connections and
123 arbitrary TCP/IP ports can also be forwarded over the secure channel.
125 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
126 it up to date in terms of security and features, as well as removing
127 all patented algorithms to seperate libraries (OpenSSL).
129 This package includes the core files necessary for both the OpenSSH
130 client and server. To make this package useful, you should also
131 install openssh-clients, openssh-server, or both.
134 This release includes High Performance SSH/SCP patches from
135 http://www.psc.edu/networking/projects/hpn-ssh/ which are supposed to
136 increase throughput on fast connections with high RTT (20-150 msec).
137 See the website for '-w' values for your connection and /proc/sys TCP
138 values. BTW. in a LAN you have got generally RTT < 1 msec.
141 %description -l de.UTF-8
142 OpenSSH (Secure Shell) stellt den Zugang zu anderen Rechnern her. Es
143 ersetzt telnet, rlogin, rexec und rsh und stellt eine sichere,
144 verschlüsselte Verbindung zwischen zwei nicht vertrauenswürdigen Hosts
145 über eine unsicheres Netzwerk her. X11 Verbindungen und beliebige
146 andere TCP/IP Ports können ebenso über den sicheren Channel
147 weitergeleitet werden.
149 %description -l es.UTF-8
150 SSH es un programa para accesar y ejecutar órdenes en computadores
151 remotos. Sustituye rlogin y rsh, y suministra un canal de comunicación
152 seguro entre dos servidores en una red insegura. Conexiones X11 y
153 puertas TCP/IP arbitrárias también pueden ser usadas por el canal
156 OpenSSH es el resultado del trabajo del equipo de OpenBSD para
157 continuar la última versión gratuita de SSH, actualizándolo en
158 términos de seguridad y recursos,así también eliminando todos los
159 algoritmos patentados y colocándolos en bibliotecas separadas
162 Este paquete contiene "port" para Linux de OpenSSH. Se debe instalar
163 también el paquete openssh-clients u openssh-server o ambos.
165 %description -l fr.UTF-8
166 OpenSSH (Secure Shell) fournit un accès à un système distant. Il
167 remplace telnet, rlogin, rexec et rsh, tout en assurant des
168 communications cryptées securisées entre deux hôtes non fiabilisés sur
169 un réseau non sécurisé. Des connexions X11 et des ports TCP/IP
170 arbitraires peuvent également être transmis sur le canal sécurisé.
172 %description -l it.UTF-8
173 OpenSSH (Secure Shell) fornisce l'accesso ad un sistema remoto.
174 Sostituisce telnet, rlogin, rexec, e rsh, e fornisce comunicazioni
175 sicure e crittate tra due host non fidati su una rete non sicura. Le
176 connessioni X11 ad una porta TCP/IP arbitraria possono essere
177 inoltrate attraverso un canale sicuro.
179 %description -l pl.UTF-8
180 Ssh (Secure Shell) to program służący do logowania się na zdalną
181 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
182 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
183 pomiędzy dwoma hostami.
185 Ten pakiet zawiera podstawowe pliki potrzebne zarówno po stronie
186 klienta jak i serwera OpenSSH. Aby był użyteczny, trzeba zainstalować
187 co najmniej jeden z pakietów: openssh-clients lub openssh-server.
190 Ta wersja zawiera łaty z projektu High Performance SSH/SCP
191 http://www.psc.edu/networking/projects/hpn-ssh/, które mają na celu
192 zwiększenie przepustowości transmisji dla szybkich połączeń z dużym
193 RTT (20-150 msec). Na stronie projektu znaleźć można odpowednie dla
194 danego połączenia wartości parametru '-w' oraz opcje /proc/sys dla
195 TCP. Nawiasem mówiąc w sieciach LAN RTT < 1 msec.
198 %description -l pt.UTF-8
199 OpenSSH (Secure Shell) fornece acesso a um sistema remoto. Substitui o
200 telnet, rlogin, rexec, e o rsh e fornece comunicações seguras e
201 cifradas entre duas máquinas sem confiança mútua sobre uma rede
202 insegura. Ligações X11 e portos TCP/IP arbitrários também poder ser
203 reenviados pelo canal seguro.
205 %description -l pt_BR.UTF-8
206 SSH é um programa para acessar e executar comandos em máquinas
207 remotas. Ele substitui rlogin e rsh, e provem um canal de comunicação
208 seguro entre dois hosts em uma rede insegura. Conexões X11 e portas
209 TCP/IP arbitrárias também podem ser usadas pelo canal seguro.
211 OpenSSH é o resultado do trabalho da equipe do OpenBSD em continuar a
212 última versão gratuita do SSH, atualizando-o em termos de segurança e
213 recursos, assim como removendo todos os algoritmos patenteados e
214 colocando-os em bibliotecas separadas (OpenSSL).
216 Esse pacote contém o "port" pra Linux do OpenSSH. Você deve instalar
217 também ou o pacote openssh-clients, ou o openssh-server, ou ambos.
219 %description -l ru.UTF-8
220 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
221 машину и для выполнения команд на удаленной машине. Она предназначена
222 для замены rlogin и rsh и обеспечивает безопасную шифрованную
223 коммуникацию между двумя хостами в сети, являющейся небезопасной.
224 Соединения X11 и любые порты TCP/IP могут также быть проведены через
227 OpenSSH - это переделка командой разработчиков OpenBSD последней
228 свободной версии SSH, доведенная до современного состояния в терминах
229 уровня безопасности и поддерживаемых возможностей. Все патентованные
230 алгоритмы вынесены в отдельные библиотеки (OpenSSL).
232 Этот пакет содержит файлы, необходимые как для клиента, так и для
233 сервера OpenSSH. Вам нужно будет установить еще openssh-clients,
234 openssh-server, или оба пакета.
236 %description -l uk.UTF-8
237 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
238 машини та для виконання команд на віддаленій машині. Вона призначена
239 для заміни rlogin та rsh і забезпечує безпечну шифровану комунікацію
240 між двома хостами в мережі, яка не є безпечною. З'єднання X11 та
241 довільні порти TCP/IP можуть також бути проведені через безпечний
244 OpenSSH - це переробка командою розробників OpenBSD останньої вільної
245 версії SSH, доведена до сучасного стану в термінах рівня безпеки та
246 підтримуваних можливостей. Всі патентовані алгоритми винесені до
247 окремих бібліотек (OpenSSL).
249 Цей пакет містить файли, необхідні як для клієнта, так і для сервера
250 OpenSSH. Вам потрібно буде ще встановити openssh-clients,
251 openssh-server, чи обидва пакети.
254 Summary: OpenSSH Secure Shell protocol clients
255 Summary(es.UTF-8): Clientes de OpenSSH
256 Summary(pl.UTF-8): Klienci protokołu Secure Shell
257 Summary(pt_BR.UTF-8): Clientes do OpenSSH
258 Summary(ru.UTF-8): OpenSSH - клиенты протокола Secure Shell
259 Summary(uk.UTF-8): OpenSSH - клієнти протоколу Secure Shell
260 Group: Applications/Networking
262 Provides: ssh-clients
263 Obsoletes: ssh-clients
264 %requires_eq_to openssl openssl-devel
267 Ssh (Secure Shell) a program for logging into a remote machine and for
268 executing commands in a remote machine. It is intended to replace
269 rlogin and rsh, and provide secure encrypted communications between
270 two untrusted hosts over an insecure network. X11 connections and
271 arbitrary TCP/IP ports can also be forwarded over the secure channel.
273 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
274 it up to date in terms of security and features, as well as removing
275 all patented algorithms to seperate libraries (OpenSSL).
277 This package includes the clients necessary to make encrypted
278 connections to SSH servers.
280 %description clients -l es.UTF-8
281 Este paquete incluye los clientes que se necesitan para hacer
282 conexiones codificadas con servidores SSH.
284 %description clients -l pl.UTF-8
285 Ssh (Secure Shell) to program służący do logowania się na zdalną
286 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
287 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
288 pomiędzy dwoma hostami.
290 Ten pakiet zawiera klientów służących do łączenia się z serwerami SSH.
292 %description clients -l pt_BR.UTF-8
293 Esse pacote inclui os clientes necessários para fazer conexões
294 encriptadas com servidores SSH.
296 %description clients -l ru.UTF-8
297 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
298 машину и для выполнения команд на удаленной машине.
300 Этот пакет содержит программы-клиенты, необходимые для установления
301 зашифрованных соединений с серверами SSH.
303 %description clients -l uk.UTF-8
304 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
305 машини та для виконання команд на віддаленій машині.
307 Цей пакет містить програми-клієнти, необхідні для встановлення
308 зашифрованих з'єднань з серверами SSH.
310 %package clients-agent-profile_d
311 Summary: OpenSSH Secure Shell agent init script
312 Summary(pl.UTF-8): Skrypt startowy agenta OpenSSH
313 Group: Applications/Networking
314 Requires: %{name}-clients = %{epoch}:%{version}-%{release}
316 %description clients-agent-profile_d
317 profile.d scripts for starting SSH agent.
319 %description clients-agent-profile_d -l pl.UTF-8
320 Skrypty profile.d do uruchamiania agenta SSH.
322 %package clients-agent-xinitrc
323 Summary: OpenSSH Secure Shell agent init script
324 Summary(pl.UTF-8): Skrypt inicjujący agenta ssh przez xinitrc
325 Group: Applications/Networking
326 Requires: %{name}-clients-agent-profile_d = %{epoch}:%{version}-%{release}
329 %description clients-agent-xinitrc
330 xinitrc scripts for starting SSH agent.
332 %description clients-agent-xinitrc -l pl.UTF-8
333 Skrypty xinitrc do uruchamiania agenta SSH.
336 Summary: OpenSSH Secure Shell protocol server (sshd)
337 Summary(de.UTF-8): OpenSSH Secure Shell Protocol-Server (sshd)
338 Summary(es.UTF-8): Servidor OpenSSH para comunicaciones codificadas
339 Summary(fr.UTF-8): Serveur de protocole du shell sécurisé OpenSSH (sshd)
340 Summary(it.UTF-8): Server OpenSSH per il protocollo Secure Shell (sshd)
341 Summary(pl.UTF-8): Serwer protokołu Secure Shell (sshd)
342 Summary(pt.UTF-8): Servidor do protocolo 'Secure Shell' OpenSSH (sshd)
343 Summary(pt_BR.UTF-8): Servidor OpenSSH para comunicações encriptadas
344 Summary(ru.UTF-8): OpenSSH - сервер протокола Secure Shell (sshd)
345 Summary(uk.UTF-8): OpenSSH - сервер протоколу Secure Shell (sshd)
346 Group: Networking/Daemons
347 Requires(post): /sbin/chkconfig
349 Requires(post,preun): /sbin/chkconfig
350 Requires(postun): /usr/sbin/userdel
351 Requires(pre): /bin/id
352 Requires(pre): /usr/sbin/useradd
353 Requires(post,preun,postun): systemd-units >= 38
354 Requires: %{name} = %{epoch}:%{version}-%{release}
355 Requires: pam >= %{pam_ver}
356 Requires: rc-scripts >= 0.4.3.0
357 Requires: systemd-units >= 38
359 %{?with_ldap:Suggests: %{name}-server-ldap}
361 Suggests: xorg-app-xauth
364 %requires_eq_to openssl openssl-devel
367 Ssh (Secure Shell) a program for logging into a remote machine and for
368 executing commands in a remote machine. It is intended to replace
369 rlogin and rsh, and provide secure encrypted communications between
370 two untrusted hosts over an insecure network. X11 connections and
371 arbitrary TCP/IP ports can also be forwarded over the secure channel.
373 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
374 it up to date in terms of security and features, as well as removing
375 all patented algorithms to seperate libraries (OpenSSL).
377 This package contains the secure shell daemon. The sshd is the server
378 part of the secure shell protocol and allows ssh clients to connect to
381 %description server -l de.UTF-8
382 Dieses Paket installiert den sshd, den Server-Teil der OpenSSH.
384 %description server -l es.UTF-8
385 Este paquete contiene el servidor SSH. sshd es la parte servidor del
386 protocolo secure shell y permite que clientes ssh se conecten a su
389 %description server -l fr.UTF-8
390 Ce paquetage installe le 'sshd', partie serveur de OpenSSH.
392 %description server -l it.UTF-8
393 Questo pacchetto installa sshd, il server di OpenSSH.
395 %description server -l pl.UTF-8
396 Ssh (Secure Shell) to program służący do logowania się na zdalną
397 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
398 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
399 pomiędzy dwoma hostami.
401 Ten pakiet zawiera serwer sshd (do którego mogą łączyć się klienci
404 %description server -l pt.UTF-8
405 Este pacote intala o sshd, o servidor do OpenSSH.
407 %description server -l pt_BR.UTF-8
408 Esse pacote contém o servidor SSH. O sshd é a parte servidor do
409 protocolo secure shell e permite que clientes ssh se conectem ao seu
412 %description server -l ru.UTF-8
413 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
414 машину и для выполнения команд на удаленной машине.
416 Этот пакет содержит sshd - "демон" Secure Shell. sshd - это серверная
417 часть протокола Secure Shell, позволяющая клиентам ssh соединяться с
420 %description server -l uk.UTF-8
421 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
422 машини та для виконання команд на віддаленій машині.
424 Цей пакет містить sshd - "демон" Secure Shell. sshd - це серверна
425 частина протоколу Secure Shell, яка дозволяє клієнтам ssh зв'язуватись
429 Summary: A LDAP support for open source SSH server daemon
430 Summary(pl.UTF-8): Wsparcie LDAP dla serwera OpenSSH
432 Requires: %{name} = %{epoch}:%{version}-%{release}
433 Requires: openldap-nss-config
435 %description server-ldap
436 OpenSSH LDAP backend is a way how to distribute the authorized tokens
437 among the servers in the network.
439 %description server-ldap -l pl.UTF-8
440 Backend LDAP dla OpenSSH to metoda rozprowadzania autoryzowanych
441 tokenów między serwerami w sieci.
443 %package gnome-askpass
444 Summary: OpenSSH GNOME passphrase dialog
445 Summary(de.UTF-8): OpenSSH GNOME Passwort-Dialog
446 Summary(es.UTF-8): Diálogo para introducción de passphrase para GNOME
447 Summary(fr.UTF-8): Dialogue pass-phrase GNOME d'OpenSSH
448 Summary(it.UTF-8): Finestra di dialogo GNOME per la frase segreta di OpenSSH
449 Summary(pl.UTF-8): Odpytywacz hasła OpenSSH dla GNOME
450 Summary(pt.UTF-8): Diálogo de pedido de senha para GNOME do OpenSSH
451 Summary(pt_BR.UTF-8): Diálogo para entrada de passphrase para GNOME
452 Summary(ru.UTF-8): OpenSSH - диалог ввода ключевой фразы (passphrase) для GNOME
453 Summary(uk.UTF-8): OpenSSH - діалог вводу ключової фрази (passphrase) для GNOME
454 Group: Applications/Networking
455 Requires: %{name} = %{epoch}:%{version}-%{release}
456 Obsoletes: openssh-askpass
457 Obsoletes: ssh-askpass
458 Obsoletes: ssh-extras
460 %description gnome-askpass
461 Ssh (Secure Shell) a program for logging into a remote machine and for
462 executing commands in a remote machine. It is intended to replace
463 rlogin and rsh, and provide secure encrypted communications between
464 two untrusted hosts over an insecure network. X11 connections and
465 arbitrary TCP/IP ports can also be forwarded over the secure channel.
467 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
468 it up to date in terms of security and features, as well as removing
469 all patented algorithms to seperate libraries (OpenSSL).
471 This package contains the GNOME passphrase dialog.
473 %description gnome-askpass -l es.UTF-8
474 Este paquete contiene un programa que abre una caja de diálogo para
475 entrada de passphrase en GNOME.
477 %description gnome-askpass -l pl.UTF-8
478 Ssh (Secure Shell) to program służący do logowania się na zdalną
479 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
480 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
481 pomiędzy dwoma hostami.
483 Ten pakiet zawiera ,,odpytywacz hasła'' dla GNOME.
485 %description gnome-askpass -l pt_BR.UTF-8
486 Esse pacote contém um programa que abre uma caixa de diálogo para
487 entrada de passphrase no GNOME.
489 %description gnome-askpass -l ru.UTF-8
490 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
491 машину и для выполнения команд на удаленной машине.
493 Этот пакет содержит диалог ввода ключевой фразы для использования под
496 %description gnome-askpass -l uk.UTF-8
497 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
498 машини та для виконання команд на віддаленій машині.
500 Цей пакет містить діалог вводу ключової фрази для використання під
503 %package -n openldap-schema-openssh-lpk
504 Summary: OpenSSH LDAP Public Key schema
505 Summary(pl.UTF-8): Schemat klucza publicznego LDAP dla OpenSSH
506 Group: Networking/Daemons
507 Requires(post,postun): sed >= 4.0
508 Requires: openldap-servers
509 %if "%{_rpmversion}" >= "5"
513 %description -n openldap-schema-openssh-lpk
514 This package contains OpenSSH LDAP Public Key schema for openldap.
516 %description -n openldap-schema-openssh-lpk -l pl.UTF-8
517 Ten pakiet zawiera schemat klucza publicznego LDAP dla OpenSSH dla
531 %{?with_hpn:%patch9 -p1}
536 %{!?with_ldap:%patch15 -p1}
537 %{?with_libseccomp:%patch16 -p1}
539 %if "%{pld_release}" == "ac"
540 # fix for missing x11.pc
541 %{__sed} -i -e 's/\(`$(PKG_CONFIG) --libs gtk+-2.0\) x11`/\1` -lX11/' contrib/Makefile
544 # hack since arc4random from openbsd-compat needs symbols from libssh and vice versa
545 sed -i -e 's#-lssh -lopenbsd-compat#-lssh -lopenbsd-compat -lssh#g' Makefile*
547 grep -rl /usr/libexec/openssh/ssh-ldap-helper . | xargs \
548 %{__sed} -i -e 's,/usr/libexec/openssh/ssh-ldap-helper,%{_libexecdir}/ssh-ldap-helper,'
551 cp /usr/share/automake/config.sub .
555 CPPFLAGS="%{rpmcppflags} -DCHROOT -std=gnu99"
562 %{?with_audit:--with-audit=linux} \
563 --with-ipaddr-display \
564 %{?with_kerberos5:--with-kerberos5=/usr} \
565 --with-ldap%{!?with_ldap:=no} \
566 %{?with_libedit:--with-libedit} \
568 --with-md5-passwords \
570 --with-pid-dir=%{_localstatedir}/run \
571 --with-privsep-path=%{_privsepdir} \
572 --with-privsep-user=sshd \
573 %if "%{?sandbox}" != ""
574 --with-sandbox=%{sandbox} \
576 %{?with_selinux:--with-selinux} \
577 %if "%{pld_release}" == "ac"
578 --with-xauth=/usr/X11R6/bin/xauth
580 --with-xauth=%{_bindir}/xauth
583 echo '#define LOGIN_PROGRAM "/bin/login"' >>config.h
587 %{?with_tests:%{__make} tests}
591 %{__make} gnome-ssh-askpass1 \
592 CC="%{__cc} %{rpmldflags} %{rpmcflags}"
595 %{__make} gnome-ssh-askpass2 \
596 CC="%{__cc} %{rpmldflags} %{rpmcflags}"
600 rm -rf $RPM_BUILD_ROOT
601 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{pam.d,rc.d/init.d,sysconfig,security,env.d}} \
602 $RPM_BUILD_ROOT{%{_libexecdir}/ssh,%{schemadir},%{systemdunitdir}}
603 install -d $RPM_BUILD_ROOT/etc/{profile.d,X11/xinit/xinitrc.d}
606 DESTDIR=$RPM_BUILD_ROOT
608 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
610 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd
611 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/sshd
612 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/sshd
613 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/profile.d
614 ln -sf /etc/profile.d/ssh-agent.sh $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/ssh-agent.sh
615 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}
616 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{schemadir}
618 cp -p %{SOURCE9} %{SOURCE11} %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}
619 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
621 %{__sed} -e 's|@@LIBEXECDIR@@|%{_libexecdir}|g' \
622 $RPM_BUILD_ROOT%{systemdunitdir}/sshd.service \
623 $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
626 install -p contrib/gnome-ssh-askpass1 $RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
629 install -p contrib/gnome-ssh-askpass2 $RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
631 %if %{with gnome} || %{with gtk}
632 cat << 'EOF' >$RPM_BUILD_ROOT/etc/env.d/GNOME_SSH_ASKPASS_GRAB_SERVER
633 #GNOME_SSH_ASKPASS_GRAB_SERVER="true"
635 cat << 'EOF' >$RPM_BUILD_ROOT/etc/env.d/GNOME_SSH_ASKPASS_GRAB_POINTER
636 #GNOME_SSH_ASKPASS_GRAB_POINTER="true"
638 ln -s %{_libexecdir}/ssh/ssh-askpass $RPM_BUILD_ROOT%{_libexecdir}/ssh-askpass
641 install -p contrib/ssh-copy-id $RPM_BUILD_ROOT%{_bindir}
642 cp -p contrib/ssh-copy-id.1 $RPM_BUILD_ROOT%{_mandir}/man1
644 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/slogin.1
645 echo ".so ssh.1" > $RPM_BUILD_ROOT%{_mandir}/man1/slogin.1
647 touch $RPM_BUILD_ROOT/etc/security/blacklist.sshd
649 cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/SSH_ASKPASS
650 #SSH_ASKPASS="%{_libexecdir}/ssh-askpass"
653 %if "%{pld_release}" == "ac"
654 # not present in ac, no point searching it
655 %{__sed} -i -e '/pam_keyinit.so/d' $RPM_BUILD_ROOT/etc/pam.d/sshd
656 # openssl on ac does not have OPENSSL_HAS_ECC
657 %{__sed} -i -e '/ecdsa/d' $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
661 # remove recording user's login uid to the process attribute
662 %{__sed} -i -e '/pam_loginuid.so/d' $RPM_BUILD_ROOT/etc/pam.d/sshd
665 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.openssh-non-english-man-pages
666 %{?with_ldap:%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ldap.conf}
669 rm -rf $RPM_BUILD_ROOT
680 %postun gnome-askpass
684 %useradd -P %{name}-server -u 40 -d %{_privsepdir} -s /bin/false -c "OpenSSH PrivSep User" -g nobody sshd
687 /sbin/chkconfig --add sshd
688 %service sshd reload "OpenSSH Daemon"
690 %systemd_post sshd.service
693 if [ "$1" = "0" ]; then
695 /sbin/chkconfig --del sshd
697 %systemd_preun sshd.service
700 if [ "$1" = "0" ]; then
705 %triggerpostun server -- %{name}-server < 6.2p1-1
706 cp -f %{_sysconfdir}/sshd_config{,.rpmorig}
707 sed -i -e 's#AuthorizedKeysCommandRunAs#AuthorizedKeysCommandUser##g' %{_sysconfdir}/sshd_config
709 %triggerpostun server -- %{name}-server < 2:5.9p1-8
710 # lpk.patch to ldap.patch
711 if grep -qE '^(UseLPK|Lpk)' %{_sysconfdir}/sshd_config; then
712 echo >&2 "Migrating LPK patch to LDAP patch"
713 cp -f %{_sysconfdir}/sshd_config{,.rpmorig}
715 # disable old configs
716 # just UseLPK/LkpLdapConf supported for now
717 s/^\s*UseLPK/## Obsolete &/
718 s/^\s*Lpk/## Obsolete &/
719 # Enable new ones, assumes /etc/ldap.conf defaults, see HOWTO.ldap-keys
720 /UseLPK/iAuthorizedKeysCommand %{_libexecdir}/ssh-ldap-wrapper
721 ' %{_sysconfdir}/sshd_config
722 if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
723 /bin/systemctl try-restart sshd.service || :
725 %service -q sshd reload
728 %systemd_trigger sshd.service
729 if [ -x /bin/systemd_booted ] && /bin/systemd_booted; then
730 %banner %{name}-server -e << EOF
731 !!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!
732 ! Native systemd support for sshd has been installed. !
733 ! Restarting sshd.service with systemctl WILL kill all !
734 ! active ssh sessions (daemon as such will be started). !
735 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
739 %post -n openldap-schema-openssh-lpk
740 %openldap_schema_register %{schemadir}/openssh-lpk.schema
741 %service -q ldap restart
743 %postun -n openldap-schema-openssh-lpk
744 if [ "$1" = "0" ]; then
745 %openldap_schema_unregister %{schemadir}/openssh-lpk.schema
746 %service -q ldap restart
750 %defattr(644,root,root,755)
751 %doc TODO README OVERVIEW CREDITS Change*
752 %attr(755,root,root) %{_bindir}/ssh-key*
753 #%attr(755,root,root) %{_bindir}/ssh-vulnkey*
754 %{_mandir}/man1/ssh-key*.1*
755 #%{_mandir}/man1/ssh-vulnkey*.1*
760 %defattr(644,root,root,755)
761 %attr(755,root,root) %{_bindir}/ssh
762 %attr(755,root,root) %{_bindir}/slogin
763 %attr(755,root,root) %{_bindir}/sftp
764 %attr(755,root,root) %{_bindir}/ssh-agent
765 %attr(755,root,root) %{_bindir}/ssh-add
766 %attr(755,root,root) %{_bindir}/ssh-copy-id
767 %attr(755,root,root) %{_bindir}/scp
768 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ssh_config
769 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/SSH_ASKPASS
770 %{_mandir}/man1/scp.1*
771 %{_mandir}/man1/ssh.1*
772 %{_mandir}/man1/slogin.1*
773 %{_mandir}/man1/sftp.1*
774 %{_mandir}/man1/ssh-agent.1*
775 %{_mandir}/man1/ssh-add.1*
776 %{_mandir}/man1/ssh-copy-id.1*
777 %{_mandir}/man5/ssh_config.5*
778 %lang(it) %{_mandir}/it/man1/ssh.1*
779 %lang(it) %{_mandir}/it/man5/ssh_config.5*
780 %lang(pl) %{_mandir}/pl/man1/scp.1*
781 %lang(zh_CN) %{_mandir}/zh_CN/man1/scp.1*
783 # for host-based auth (suid required for accessing private host key)
784 #%attr(4755,root,root) %{_libexecdir}/ssh-keysign
785 #%{_mandir}/man8/ssh-keysign.8*
787 %files clients-agent-profile_d
788 %defattr(644,root,root,755)
789 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ssh-agent.conf
790 %attr(755,root,root) /etc/profile.d/ssh-agent.sh
792 %files clients-agent-xinitrc
793 %defattr(644,root,root,755)
794 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/ssh-agent.sh
797 %defattr(644,root,root,755)
798 %attr(755,root,root) %{_sbindir}/sshd
799 %attr(755,root,root) %{_libexecdir}/sftp-server
800 %attr(755,root,root) %{_libexecdir}/ssh-keysign
801 %attr(755,root,root) %{_libexecdir}/ssh-pkcs11-helper
802 %attr(755,root,root) %{_libexecdir}/sshd-keygen
803 %{_mandir}/man8/sshd.8*
804 %{_mandir}/man8/sftp-server.8*
805 %{_mandir}/man8/ssh-keysign.8*
806 %{_mandir}/man8/ssh-pkcs11-helper.8*
807 %{_mandir}/man5/sshd_config.5*
808 %{_mandir}/man5/moduli.5*
809 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sshd_config
810 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/sshd
811 %attr(640,root,root) %{_sysconfdir}/moduli
812 %attr(754,root,root) /etc/rc.d/init.d/sshd
813 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sshd
814 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.sshd
815 %{systemdunitdir}/sshd.service
816 %{systemdunitdir}/sshd.socket
817 %{systemdunitdir}/sshd@.service
821 %defattr(644,root,root,755)
822 %doc HOWTO.ldap-keys ldap.conf
823 %attr(755,root,root) %{_libexecdir}/ssh-ldap-helper
824 %attr(755,root,root) %{_libexecdir}/ssh-ldap-wrapper
825 %{_mandir}/man5/ssh-ldap.conf.5*
826 %{_mandir}/man8/ssh-ldap-helper.8*
829 %if %{with gnome} || %{with gtk}
831 %defattr(644,root,root,755)
832 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/GNOME_SSH_ASKPASS*
833 %dir %{_libexecdir}/ssh
834 %attr(755,root,root) %{_libexecdir}/ssh/ssh-askpass
835 %attr(755,root,root) %{_libexecdir}/ssh-askpass
839 %files -n openldap-schema-openssh-lpk
840 %defattr(644,root,root,755)
841 %{schemadir}/openssh-lpk.schema