3 %bcond_without audit # sshd audit support
4 %bcond_with gnome # with gnome-askpass (GNOME 1.x) utility
5 %bcond_without gtk # without GTK+ (2.x)
6 %bcond_without ldap # with ldap support
7 %bcond_without libedit # without libedit (editline/history support in sftp client)
8 %bcond_without kerberos5 # without kerberos5 support
9 %bcond_without selinux # build without SELinux support
10 %bcond_with hpn # High Performance SSH/SCP - HPN-SSH including Cipher NONE (broken too often)
13 # gtk2-based gnome-askpass means no gnome1-based
14 %{?with_gtk:%undefine with_gnome}
16 %if "%{pld_release}" == "ac"
17 %define pam_ver 0.79.0
19 %define pam_ver 1:1.1.5-5
22 Summary: OpenSSH free Secure Shell (SSH) implementation
23 Summary(de.UTF-8): OpenSSH - freie Implementation der Secure Shell (SSH)
24 Summary(es.UTF-8): Implementación libre de SSH
25 Summary(fr.UTF-8): Implémentation libre du shell sécurisé OpenSSH (SSH)
26 Summary(it.UTF-8): Implementazione gratuita OpenSSH della Secure Shell
27 Summary(pl.UTF-8): Publicznie dostępna implementacja bezpiecznego shella (SSH)
28 Summary(pt.UTF-8): Implementação livre OpenSSH do protocolo 'Secure Shell' (SSH)
29 Summary(pt_BR.UTF-8): Implementação livre do SSH
30 Summary(ru.UTF-8): OpenSSH - свободная реализация протокола Secure Shell (SSH)
31 Summary(uk.UTF-8): OpenSSH - вільна реалізація протоколу Secure Shell (SSH)
37 Group: Applications/Networking
38 Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/%{name}-%{version}.tar.gz
39 # Source0-md5: 3c9347aa67862881c5da3f3b1c08da7b
40 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
41 # Source1-md5: 66943d481cc422512b537bcc2c7400d1
42 Source2: %{name}d.init
43 Source3: %{name}d.pamd
44 Source4: %{name}.sysconfig
46 Source6: ssh-agent.conf
47 Source7: %{name}-lpk.schema
48 Source8: %{name}d.upstart
52 Source12: sshd@.service
53 Patch100: %{name}-heimdal.patch
54 Patch0: %{name}-no_libnsl.patch
55 Patch2: %{name}-pam_misc.patch
56 Patch3: %{name}-sigpipe.patch
57 # http://pkgs.fedoraproject.org/gitweb/?p=openssh.git;a=tree
58 Patch4: %{name}-5.9p1-ldap.patch
59 Patch5: %{name}-5.9p1-ldap-fixes.patch
60 Patch8: ldap.conf.patch
61 Patch6: %{name}-config.patch
62 # https://bugzilla.mindrot.org/show_bug.cgi?id=1663
63 Patch7: authorized-keys-command.patch
64 # High Performance SSH/SCP - HPN-SSH - http://www.psc.edu/networking/projects/hpn-ssh/
65 # http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.2p1-hpn13v6.diff.gz
66 Patch9: %{name}-5.2p1-hpn13v6.diff
67 Patch10: %{name}-include.patch
68 Patch11: %{name}-chroot.patch
69 # http://people.debian.org/~cjwatson/%{name}-blacklist.diff
70 Patch12: %{name}-blacklist.diff
71 Patch13: %{name}-kuserok.patch
72 Patch14: %{name}-bind.patch
73 URL: http://www.openssh.com/portable.html
74 BuildRequires: %{__perl}
75 %{?with_tests:BuildRequires: %{name}-server}
76 %{?with_audit:BuildRequires: audit-libs-devel}
77 BuildRequires: autoconf >= 2.50
78 BuildRequires: automake
79 %{?with_gnome:BuildRequires: gnome-libs-devel}
80 %{?with_gtk:BuildRequires: gtk+2-devel}
81 %{?with_kerberos5:BuildRequires: heimdal-devel >= 0.7}
82 %{?with_libedit:BuildRequires: libedit-devel}
83 %{?with_selinux:BuildRequires: libselinux-devel}
84 BuildRequires: libwrap-devel
85 %{?with_ldap:BuildRequires: openldap-devel}
86 BuildRequires: openssl-devel >= 0.9.7d
87 BuildRequires: pam-devel
88 %{?with_gtk:BuildRequires: pkgconfig}
89 BuildRequires: rpm >= 4.4.9-56
90 BuildRequires: rpmbuild(macros) >= 1.627
91 BuildRequires: sed >= 4.0
92 BuildRequires: zlib-devel
93 %if "%{pld_release}" == "ac"
94 Requires: filesystem >= 2.0-1
95 Requires: pam >= 0.79.0
97 Requires: filesystem >= 3.0-11
98 Requires: pam >= %{pam_ver}
99 Suggests: openssh-blacklist
100 Suggests: xorg-app-xauth
103 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
105 %define _sysconfdir /etc/ssh
106 %define _libexecdir %{_libdir}/%{name}
107 %define _privsepdir /usr/share/empty
108 %define schemadir /usr/share/openldap/schema
111 Ssh (Secure Shell) a program for logging into a remote machine and for
112 executing commands in a remote machine. It is intended to replace
113 rlogin and rsh, and provide secure encrypted communications between
114 two untrusted hosts over an insecure network. X11 connections and
115 arbitrary TCP/IP ports can also be forwarded over the secure channel.
117 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
118 it up to date in terms of security and features, as well as removing
119 all patented algorithms to seperate libraries (OpenSSL).
121 This package includes the core files necessary for both the OpenSSH
122 client and server. To make this package useful, you should also
123 install openssh-clients, openssh-server, or both.
126 This release includes High Performance SSH/SCP patches from
127 http://www.psc.edu/networking/projects/hpn-ssh/ which are supposed to
128 increase throughput on fast connections with high RTT (20-150 msec).
129 See the website for '-w' values for your connection and /proc/sys TCP
130 values. BTW. in a LAN you have got generally RTT < 1 msec.
133 %description -l de.UTF-8
134 OpenSSH (Secure Shell) stellt den Zugang zu anderen Rechnern her. Es
135 ersetzt telnet, rlogin, rexec und rsh und stellt eine sichere,
136 verschlüsselte Verbindung zwischen zwei nicht vertrauenswürdigen Hosts
137 über eine unsicheres Netzwerk her. X11 Verbindungen und beliebige
138 andere TCP/IP Ports können ebenso über den sicheren Channel
139 weitergeleitet werden.
141 %description -l es.UTF-8
142 SSH es un programa para accesar y ejecutar órdenes en computadores
143 remotos. Sustituye rlogin y rsh, y suministra un canal de comunicación
144 seguro entre dos servidores en una red insegura. Conexiones X11 y
145 puertas TCP/IP arbitrárias también pueden ser usadas por el canal
148 OpenSSH es el resultado del trabajo del equipo de OpenBSD para
149 continuar la última versión gratuita de SSH, actualizándolo en
150 términos de seguridad y recursos,así también eliminando todos los
151 algoritmos patentados y colocándolos en bibliotecas separadas
154 Este paquete contiene "port" para Linux de OpenSSH. Se debe instalar
155 también el paquete openssh-clients u openssh-server o ambos.
157 %description -l fr.UTF-8
158 OpenSSH (Secure Shell) fournit un accès à un système distant. Il
159 remplace telnet, rlogin, rexec et rsh, tout en assurant des
160 communications cryptées securisées entre deux hôtes non fiabilisés sur
161 un réseau non sécurisé. Des connexions X11 et des ports TCP/IP
162 arbitraires peuvent également être transmis sur le canal sécurisé.
164 %description -l it.UTF-8
165 OpenSSH (Secure Shell) fornisce l'accesso ad un sistema remoto.
166 Sostituisce telnet, rlogin, rexec, e rsh, e fornisce comunicazioni
167 sicure e crittate tra due host non fidati su una rete non sicura. Le
168 connessioni X11 ad una porta TCP/IP arbitraria possono essere
169 inoltrate attraverso un canale sicuro.
171 %description -l pl.UTF-8
172 Ssh (Secure Shell) to program służący do logowania się na zdalną
173 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
174 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
175 pomiędzy dwoma hostami.
177 Ten pakiet zawiera podstawowe pliki potrzebne zarówno po stronie
178 klienta jak i serwera OpenSSH. Aby był użyteczny, trzeba zainstalować
179 co najmniej jeden z pakietów: openssh-clients lub openssh-server.
182 Ta wersja zawiera łaty z projektu High Performance SSH/SCP
183 http://www.psc.edu/networking/projects/hpn-ssh/, które mają na celu
184 zwiększenie przepustowości transmisji dla szybkich połączeń z dużym
185 RTT (20-150 msec). Na stronie projektu znaleźć można odpowednie dla
186 danego połączenia wartości parametru '-w' oraz opcje /proc/sys dla
187 TCP. Nawiasem mówiąc w sieciach LAN RTT < 1 msec.
190 %description -l pt.UTF-8
191 OpenSSH (Secure Shell) fornece acesso a um sistema remoto. Substitui o
192 telnet, rlogin, rexec, e o rsh e fornece comunicações seguras e
193 cifradas entre duas máquinas sem confiança mútua sobre uma rede
194 insegura. Ligações X11 e portos TCP/IP arbitrários também poder ser
195 reenviados pelo canal seguro.
197 %description -l pt_BR.UTF-8
198 SSH é um programa para acessar e executar comandos em máquinas
199 remotas. Ele substitui rlogin e rsh, e provem um canal de comunicação
200 seguro entre dois hosts em uma rede insegura. Conexões X11 e portas
201 TCP/IP arbitrárias também podem ser usadas pelo canal seguro.
203 OpenSSH é o resultado do trabalho da equipe do OpenBSD em continuar a
204 última versão gratuita do SSH, atualizando-o em termos de segurança e
205 recursos, assim como removendo todos os algoritmos patenteados e
206 colocando-os em bibliotecas separadas (OpenSSL).
208 Esse pacote contém o "port" pra Linux do OpenSSH. Você deve instalar
209 também ou o pacote openssh-clients, ou o openssh-server, ou ambos.
211 %description -l ru.UTF-8
212 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
213 машину и для выполнения команд на удаленной машине. Она предназначена
214 для замены rlogin и rsh и обеспечивает безопасную шифрованную
215 коммуникацию между двумя хостами в сети, являющейся небезопасной.
216 Соединения X11 и любые порты TCP/IP могут также быть проведены через
219 OpenSSH - это переделка командой разработчиков OpenBSD последней
220 свободной версии SSH, доведенная до современного состояния в терминах
221 уровня безопасности и поддерживаемых возможностей. Все патентованные
222 алгоритмы вынесены в отдельные библиотеки (OpenSSL).
224 Этот пакет содержит файлы, необходимые как для клиента, так и для
225 сервера OpenSSH. Вам нужно будет установить еще openssh-clients,
226 openssh-server, или оба пакета.
228 %description -l uk.UTF-8
229 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
230 машини та для виконання команд на віддаленій машині. Вона призначена
231 для заміни rlogin та rsh і забезпечує безпечну шифровану комунікацію
232 між двома хостами в мережі, яка не є безпечною. З'єднання X11 та
233 довільні порти TCP/IP можуть також бути проведені через безпечний
236 OpenSSH - це переробка командою розробників OpenBSD останньої вільної
237 версії SSH, доведена до сучасного стану в термінах рівня безпеки та
238 підтримуваних можливостей. Всі патентовані алгоритми винесені до
239 окремих бібліотек (OpenSSL).
241 Цей пакет містить файли, необхідні як для клієнта, так і для сервера
242 OpenSSH. Вам потрібно буде ще встановити openssh-clients,
243 openssh-server, чи обидва пакети.
246 Summary: OpenSSH Secure Shell protocol clients
247 Summary(es.UTF-8): Clientes de OpenSSH
248 Summary(pl.UTF-8): Klienci protokołu Secure Shell
249 Summary(pt_BR.UTF-8): Clientes do OpenSSH
250 Summary(ru.UTF-8): OpenSSH - клиенты протокола Secure Shell
251 Summary(uk.UTF-8): OpenSSH - клієнти протоколу Secure Shell
252 Group: Applications/Networking
254 Provides: ssh-clients
255 Obsoletes: ssh-clients
258 Ssh (Secure Shell) a program for logging into a remote machine and for
259 executing commands in a remote machine. It is intended to replace
260 rlogin and rsh, and provide secure encrypted communications between
261 two untrusted hosts over an insecure network. X11 connections and
262 arbitrary TCP/IP ports can also be forwarded over the secure channel.
264 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
265 it up to date in terms of security and features, as well as removing
266 all patented algorithms to seperate libraries (OpenSSL).
268 This package includes the clients necessary to make encrypted
269 connections to SSH servers.
271 %description clients -l es.UTF-8
272 Este paquete incluye los clientes que se necesitan para hacer
273 conexiones codificadas con servidores SSH.
275 %description clients -l pl.UTF-8
276 Ssh (Secure Shell) to program służący do logowania się na zdalną
277 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
278 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
279 pomiędzy dwoma hostami.
281 Ten pakiet zawiera klientów służących do łączenia się z serwerami SSH.
283 %description clients -l pt_BR.UTF-8
284 Esse pacote inclui os clientes necessários para fazer conexões
285 encriptadas com servidores SSH.
287 %description clients -l ru.UTF-8
288 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
289 машину и для выполнения команд на удаленной машине.
291 Этот пакет содержит программы-клиенты, необходимые для установления
292 зашифрованных соединений с серверами SSH.
294 %description clients -l uk.UTF-8
295 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
296 машини та для виконання команд на віддаленій машині.
298 Цей пакет містить програми-клієнти, необхідні для встановлення
299 зашифрованих з'єднань з серверами SSH.
301 %package clients-agent-profile_d
302 Summary: OpenSSH Secure Shell agent init script
303 Summary(pl.UTF-8): Skrypt startowy agenta OpenSSH
304 Group: Applications/Networking
305 Requires: %{name}-clients = %{epoch}:%{version}-%{release}
307 %description clients-agent-profile_d
308 profile.d scripts for starting SSH agent.
310 %description clients-agent-profile_d -l pl.UTF-8
311 Skrypty profile.d do uruchamiania agenta SSH.
313 %package clients-agent-xinitrc
314 Summary: OpenSSH Secure Shell agent init script
315 Summary(pl.UTF-8): Skrypt inicjujący agenta ssh przez xinitrc
316 Group: Applications/Networking
317 Requires: %{name}-clients-agent-profile_d = %{epoch}:%{version}-%{release}
320 %description clients-agent-xinitrc
321 xinitrc scripts for starting SSH agent.
323 %description clients-agent-xinitrc -l pl.UTF-8
324 Skrypty xinitrc do uruchamiania agenta SSH.
327 Summary: OpenSSH Secure Shell protocol server (sshd)
328 Summary(de.UTF-8): OpenSSH Secure Shell Protocol-Server (sshd)
329 Summary(es.UTF-8): Servidor OpenSSH para comunicaciones codificadas
330 Summary(fr.UTF-8): Serveur de protocole du shell sécurisé OpenSSH (sshd)
331 Summary(it.UTF-8): Server OpenSSH per il protocollo Secure Shell (sshd)
332 Summary(pl.UTF-8): Serwer protokołu Secure Shell (sshd)
333 Summary(pt.UTF-8): Servidor do protocolo 'Secure Shell' OpenSSH (sshd)
334 Summary(pt_BR.UTF-8): Servidor OpenSSH para comunicações encriptadas
335 Summary(ru.UTF-8): OpenSSH - сервер протокола Secure Shell (sshd)
336 Summary(uk.UTF-8): OpenSSH - сервер протоколу Secure Shell (sshd)
337 Group: Networking/Daemons
338 Requires(post): /sbin/chkconfig
340 Requires(post,preun): /sbin/chkconfig
341 Requires(postun): /usr/sbin/userdel
342 Requires(pre): /bin/id
343 Requires(pre): /usr/sbin/useradd
344 Requires(post,preun,postun): systemd-units >= 38
345 Requires: %{name} = %{epoch}:%{version}-%{release}
346 # remove in 6.0, kept for flawless upgrade
347 Requires: %{name}-server-ldap = %{epoch}:%{version}-%{release}
348 Requires: pam >= %{pam_ver}
349 Requires: rc-scripts >= 0.4.3.0
350 Requires: systemd-units >= 38
357 Ssh (Secure Shell) a program for logging into a remote machine and for
358 executing commands in a remote machine. It is intended to replace
359 rlogin and rsh, and provide secure encrypted communications between
360 two untrusted hosts over an insecure network. X11 connections and
361 arbitrary TCP/IP ports can also be forwarded over the secure channel.
363 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
364 it up to date in terms of security and features, as well as removing
365 all patented algorithms to seperate libraries (OpenSSL).
367 This package contains the secure shell daemon. The sshd is the server
368 part of the secure shell protocol and allows ssh clients to connect to
371 %description server -l de.UTF-8
372 Dieses Paket installiert den sshd, den Server-Teil der OpenSSH.
374 %description server -l es.UTF-8
375 Este paquete contiene el servidor SSH. sshd es la parte servidor del
376 protocolo secure shell y permite que clientes ssh se conecten a su
379 %description server -l fr.UTF-8
380 Ce paquetage installe le 'sshd', partie serveur de OpenSSH.
382 %description server -l it.UTF-8
383 Questo pacchetto installa sshd, il server di OpenSSH.
385 %description server -l pl.UTF-8
386 Ssh (Secure Shell) to program służący do logowania się na zdalną
387 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
388 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
389 pomiędzy dwoma hostami.
391 Ten pakiet zawiera serwer sshd (do którego mogą łączyć się klienci
394 %description server -l pt.UTF-8
395 Este pacote intala o sshd, o servidor do OpenSSH.
397 %description server -l pt_BR.UTF-8
398 Esse pacote contém o servidor SSH. O sshd é a parte servidor do
399 protocolo secure shell e permite que clientes ssh se conectem ao seu
402 %description server -l ru.UTF-8
403 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
404 машину и для выполнения команд на удаленной машине.
406 Этот пакет содержит sshd - "демон" Secure Shell. sshd - это серверная
407 часть протокола Secure Shell, позволяющая клиентам ssh соединяться с
410 %description server -l uk.UTF-8
411 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
412 машини та для виконання команд на віддаленій машині.
414 Цей пакет містить sshd - "демон" Secure Shell. sshd - це серверна
415 частина протоколу Secure Shell, яка дозволяє клієнтам ssh зв'язуватись
419 Summary: A LDAP support for open source SSH server daemon
420 Summary(pl.UTF-8): Wsparcie LDAP dla serwera OpenSSH
422 Requires: %{name} = %{epoch}:%{version}-%{release}
424 %description server-ldap
425 OpenSSH LDAP backend is a way how to distribute the authorized tokens
426 among the servers in the network.
428 %description server-ldap -l pl.UTF-8
429 Backend LDAP dla OpenSSH to metoda rozprowadzania autoryzowanych
430 tokenów między serwerami w sieci.
432 %package server-upstart
433 Summary: Upstart job description for OpenSSH server
434 Summary(pl.UTF-8): Opis zadania Upstart dla serwera OpenSSH
436 Requires: %{name}-server = %{epoch}:%{version}-%{release}
437 Requires: upstart >= 0.6
438 Conflicts: syslog-ng < 3.2.4-1
440 %description server-upstart
441 Upstart job description for OpenSSH.
443 %description server-upstart -l pl.UTF-8
444 Opis zadania Upstart dla OpenSSH.
446 %package gnome-askpass
447 Summary: OpenSSH GNOME passphrase dialog
448 Summary(de.UTF-8): OpenSSH GNOME Passwort-Dialog
449 Summary(es.UTF-8): Diálogo para introducción de passphrase para GNOME
450 Summary(fr.UTF-8): Dialogue pass-phrase GNOME d'OpenSSH
451 Summary(it.UTF-8): Finestra di dialogo GNOME per la frase segreta di OpenSSH
452 Summary(pl.UTF-8): Odpytywacz hasła OpenSSH dla GNOME
453 Summary(pt.UTF-8): Diálogo de pedido de senha para GNOME do OpenSSH
454 Summary(pt_BR.UTF-8): Diálogo para entrada de passphrase para GNOME
455 Summary(ru.UTF-8): OpenSSH - диалог ввода ключевой фразы (passphrase) для GNOME
456 Summary(uk.UTF-8): OpenSSH - діалог вводу ключової фрази (passphrase) для GNOME
457 Group: Applications/Networking
458 Requires: %{name} = %{epoch}:%{version}-%{release}
459 Obsoletes: openssh-askpass
460 Obsoletes: ssh-askpass
461 Obsoletes: ssh-extras
463 %description gnome-askpass
464 Ssh (Secure Shell) a program for logging into a remote machine and for
465 executing commands in a remote machine. It is intended to replace
466 rlogin and rsh, and provide secure encrypted communications between
467 two untrusted hosts over an insecure network. X11 connections and
468 arbitrary TCP/IP ports can also be forwarded over the secure channel.
470 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
471 it up to date in terms of security and features, as well as removing
472 all patented algorithms to seperate libraries (OpenSSL).
474 This package contains the GNOME passphrase dialog.
476 %description gnome-askpass -l es.UTF-8
477 Este paquete contiene un programa que abre una caja de diálogo para
478 entrada de passphrase en GNOME.
480 %description gnome-askpass -l pl.UTF-8
481 Ssh (Secure Shell) to program służący do logowania się na zdalną
482 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
483 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
484 pomiędzy dwoma hostami.
486 Ten pakiet zawiera ,,odpytywacz hasła'' dla GNOME.
488 %description gnome-askpass -l pt_BR.UTF-8
489 Esse pacote contém um programa que abre uma caixa de diálogo para
490 entrada de passphrase no GNOME.
492 %description gnome-askpass -l ru.UTF-8
493 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
494 машину и для выполнения команд на удаленной машине.
496 Этот пакет содержит диалог ввода ключевой фразы для использования под
499 %description gnome-askpass -l uk.UTF-8
500 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
501 машини та для виконання команд на віддаленій машині.
503 Цей пакет містить діалог вводу ключової фрази для використання під
506 %package -n openldap-schema-openssh-lpk
507 Summary: OpenSSH LDAP Public Key schema
508 Summary(pl.UTF-8): Schemat klucza publicznego LDAP dla OpenSSH
509 Group: Networking/Daemons
510 Requires(post,postun): sed >= 4.0
511 Requires: openldap-servers
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
522 %{?with_kerberos5:%patch100 -p1}
531 %{?with_hpn:%patch9 -p1}
538 %if "%{pld_release}" == "ac"
539 # fix for missing x11.pc
540 %{__sed} -i -e '/pkg-config/s/ x11//' contrib/Makefile
543 # hack since arc4random from openbsd-compat needs symbols from libssh and vice versa
544 sed -i -e 's#-lssh -lopenbsd-compat#-lssh -lopenbsd-compat -lssh#g' Makefile*
546 grep -rl /usr/libexec/openssh/ssh-ldap-helper . | xargs \
547 %{__sed} -i -e 's,/usr/libexec/openssh/ssh-ldap-helper,%{_libexecdir}/ssh-ldap-helper,'
550 cp /usr/share/automake/config.sub .
561 %{?with_audit:--with-audit=linux} \
562 --with-ipaddr-display \
563 %{?with_kerberos5:--with-kerberos5=/usr} \
564 --with-ldap%{!?with_ldap:=no} \
565 %{?with_libedit:--with-libedit} \
567 --with-md5-passwords \
569 --with-authorized-keys-command \
570 --with-pid-dir=%{_localstatedir}/run \
571 --with-privsep-path=%{_privsepdir} \
572 %{?with_selinux:--with-selinux} \
573 --with-tcp-wrappers \
574 %if "%{pld_release}" == "ac"
575 --with-xauth=/usr/X11R6/bin/xauth
577 --with-xauth=%{_bindir}/xauth
580 echo '#define LOGIN_PROGRAM "/bin/login"' >>config.h
584 %{?with_tests:%{__make} tests}
588 %{__make} gnome-ssh-askpass1 \
589 CC="%{__cc} %{rpmldflags} %{rpmcflags}"
592 %{__make} gnome-ssh-askpass2 \
593 CC="%{__cc} %{rpmldflags} %{rpmcflags}"
597 rm -rf $RPM_BUILD_ROOT
598 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{init,pam.d,rc.d/init.d,sysconfig,security,env.d}} \
599 $RPM_BUILD_ROOT{%{_libexecdir}/ssh,%{schemadir},%{systemdunitdir}}
600 install -d $RPM_BUILD_ROOT/etc/{profile.d,X11/xinit/xinitrc.d}
603 DESTDIR=$RPM_BUILD_ROOT
605 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
607 cp -p %{SOURCE3} sshd.pam
608 install -p %{SOURCE2} sshd.init
610 %if "%{pld_release}" == "ac"
611 # not present in ac, no point searching it
612 %{__sed} -i -e '/pam_keyinit.so/d' sshd.pam
613 # openssl on ac does not have OPENSSL_HAS_ECC
614 %{__sed} -i -e '/ecdsa/d' sshd.init
617 install -p sshd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd
618 cp -p sshd.pam $RPM_BUILD_ROOT/etc/pam.d/sshd
619 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/sshd
620 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/profile.d
621 ln -sf /etc/profile.d/ssh-agent.sh $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/ssh-agent.sh
622 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}
623 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{schemadir}
624 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/init/sshd.conf
626 %{__sed} -e 's|@@LIBEXECDIR@@|%{_libexecdir}|g' %{SOURCE9} >$RPM_BUILD_ROOT%{systemdunitdir}/sshd.service
627 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
629 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}
630 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}
633 install -p contrib/gnome-ssh-askpass1 $RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
636 install -p contrib/gnome-ssh-askpass2 $RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
638 %if %{with gnome} || %{with gtk}
639 cat << 'EOF' >$RPM_BUILD_ROOT/etc/env.d/GNOME_SSH_ASKPASS_GRAB_SERVER
640 #GNOME_SSH_ASKPASS_GRAB_SERVER="true"
642 cat << 'EOF' >$RPM_BUILD_ROOT/etc/env.d/GNOME_SSH_ASKPASS_GRAB_POINTER
643 #GNOME_SSH_ASKPASS_GRAB_POINTER="true"
645 ln -s %{_libexecdir}/ssh/ssh-askpass $RPM_BUILD_ROOT%{_libexecdir}/ssh-askpass
648 install -p contrib/ssh-copy-id $RPM_BUILD_ROOT%{_bindir}
649 cp -p contrib/ssh-copy-id.1 $RPM_BUILD_ROOT%{_mandir}/man1
651 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/slogin.1
652 echo ".so ssh.1" > $RPM_BUILD_ROOT%{_mandir}/man1/slogin.1
654 touch $RPM_BUILD_ROOT/etc/security/blacklist.sshd
656 cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/SSH_ASKPASS
657 #SSH_ASKPASS="%{_libexecdir}/ssh-askpass"
660 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.openssh-non-english-man-pages
661 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ldap.conf
664 rm -rf $RPM_BUILD_ROOT
675 %postun gnome-askpass
679 %useradd -P %{name}-server -u 40 -d %{_privsepdir} -s /bin/false -c "OpenSSH PrivSep User" -g nobody sshd
682 /sbin/chkconfig --add sshd
683 %service sshd reload "OpenSSH Daemon"
684 if ! grep -qs ssh /etc/security/passwd.conf ; then
686 echo "ssh" >> /etc/security/passwd.conf
689 %systemd_post sshd.service
692 if [ "$1" = "0" ]; then
694 /sbin/chkconfig --del sshd
696 %systemd_preun sshd.service
699 if [ "$1" = "0" ]; then
704 %triggerpostun server -- %{name}-server < 2:5.9p1-8
705 # lpk.patch to ldap.patch
706 if grep -qE '^(UseLPK|Lpk)' %{_sysconfdir}/sshd_config; then
707 echo >&2 "Migrating LPK patch to LDAP patch"
708 cp -f %{_sysconfdir}/sshd_config{,.rpmorig}
710 # disable old configs
711 # just UseLPK/LkpLdapConf supported for now
712 s/^\s*UseLPK/## Obsolete &/
713 s/^\s*Lpk/## Obsolete &/
714 # Enable new ones, assumes /etc/ldap.conf defaults, see HOWTO.ldap-keys
715 /UseLPK/iAuthorizedKeysCommand %{_libexecdir}/ssh-ldap-wrapper
716 ' %{_sysconfdir}/sshd_config
717 if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
718 /bin/systemctl try-restart sshd.service || :
720 %service -q sshd reload
723 %systemd_trigger sshd.service
724 if [ -x /bin/systemd_booted ] && /bin/systemd_booted; then
725 %banner %{name}-server -e << EOF
726 !!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!
727 ! Native systemd support for sshd has been installed. !
728 ! Restarting sshd.service with systemctl WILL kill all !
729 ! active ssh sessions (daemon as such will be started). !
730 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
737 %postun server-upstart
740 %post -n openldap-schema-openssh-lpk
741 %openldap_schema_register %{schemadir}/openssh-lpk.schema
742 %service -q ldap restart
744 %postun -n openldap-schema-openssh-lpk
745 if [ "$1" = "0" ]; then
746 %openldap_schema_unregister %{schemadir}/openssh-lpk.schema
747 %service -q ldap restart
751 %defattr(644,root,root,755)
752 %doc TODO README OVERVIEW CREDITS Change*
753 %attr(755,root,root) %{_bindir}/ssh-key*
754 %attr(755,root,root) %{_bindir}/ssh-vulnkey*
755 %{_mandir}/man1/ssh-key*.1*
756 %{_mandir}/man1/ssh-vulnkey*.1*
761 %defattr(644,root,root,755)
762 %attr(755,root,root) %{_bindir}/ssh
763 %attr(755,root,root) %{_bindir}/slogin
764 %attr(755,root,root) %{_bindir}/sftp
765 %attr(755,root,root) %{_bindir}/ssh-agent
766 %attr(755,root,root) %{_bindir}/ssh-add
767 %attr(755,root,root) %{_bindir}/ssh-copy-id
768 %attr(755,root,root) %{_bindir}/scp
769 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ssh_config
770 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/SSH_ASKPASS
771 %{_mandir}/man1/scp.1*
772 %{_mandir}/man1/ssh.1*
773 %{_mandir}/man1/slogin.1*
774 %{_mandir}/man1/sftp.1*
775 %{_mandir}/man1/ssh-agent.1*
776 %{_mandir}/man1/ssh-add.1*
777 %{_mandir}/man1/ssh-copy-id.1*
778 %{_mandir}/man5/ssh_config.5*
779 %lang(it) %{_mandir}/it/man1/ssh.1*
780 %lang(it) %{_mandir}/it/man5/ssh_config.5*
781 %lang(pl) %{_mandir}/pl/man1/scp.1*
782 %lang(zh_CN) %{_mandir}/zh_CN/man1/scp.1*
784 # for host-based auth (suid required for accessing private host key)
785 #%attr(4755,root,root) %{_libexecdir}/ssh-keysign
786 #%{_mandir}/man8/ssh-keysign.8*
788 %files clients-agent-profile_d
789 %defattr(644,root,root,755)
790 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ssh-agent.conf
791 %attr(755,root,root) /etc/profile.d/ssh-agent.sh
793 %files clients-agent-xinitrc
794 %defattr(644,root,root,755)
795 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/ssh-agent.sh
798 %defattr(644,root,root,755)
799 %attr(755,root,root) %{_sbindir}/sshd
800 %attr(755,root,root) %{_libexecdir}/sftp-server
801 %attr(755,root,root) %{_libexecdir}/ssh-keysign
802 %attr(755,root,root) %{_libexecdir}/ssh-pkcs11-helper
803 %attr(755,root,root) %{_libexecdir}/sshd-keygen
804 %{_mandir}/man8/sshd.8*
805 %{_mandir}/man8/sftp-server.8*
806 %{_mandir}/man8/ssh-keysign.8*
807 %{_mandir}/man8/ssh-pkcs11-helper.8*
808 %{_mandir}/man5/sshd_config.5*
809 %{_mandir}/man5/moduli.5*
810 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sshd_config
811 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/sshd
812 %attr(640,root,root) %{_sysconfdir}/moduli
813 %attr(754,root,root) /etc/rc.d/init.d/sshd
814 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sshd
815 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.sshd
816 %{systemdunitdir}/sshd.service
817 %{systemdunitdir}/sshd.socket
818 %{systemdunitdir}/sshd@.service
822 %defattr(644,root,root,755)
823 %doc HOWTO.ldap-keys ldap.conf
824 %attr(755,root,root) %{_libexecdir}/ssh-ldap-helper
825 %attr(755,root,root) %{_libexecdir}/ssh-ldap-wrapper
826 %{_mandir}/man5/ssh-ldap.conf.5*
827 %{_mandir}/man8/ssh-ldap-helper.8*
830 %if %{with gnome} || %{with gtk}
832 %defattr(644,root,root,755)
833 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/GNOME_SSH_ASKPASS*
834 %dir %{_libexecdir}/ssh
835 %attr(755,root,root) %{_libexecdir}/ssh/ssh-askpass
836 %attr(755,root,root) %{_libexecdir}/ssh-askpass
840 %files -n openldap-schema-openssh-lpk
841 %defattr(644,root,root,755)
842 %{schemadir}/openssh-lpk.schema
845 %if "%{pld_release}" != "ti"
846 %files server-upstart
847 %defattr(644,root,root,755)
848 %config(noreplace) %verify(not md5 mtime size) /etc/init/sshd.conf