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 %define sandbox %{?with_libseccomp:lib}seccomp_filter
23 %if "%{pld_release}" == "ac"
24 %define pam_ver 0.79.0
26 %define pam_ver 1:1.1.8-5
28 Summary: OpenSSH free Secure Shell (SSH) implementation
29 Summary(de.UTF-8): OpenSSH - freie Implementation der Secure Shell (SSH)
30 Summary(es.UTF-8): Implementación libre de SSH
31 Summary(fr.UTF-8): Implémentation libre du shell sécurisé OpenSSH (SSH)
32 Summary(it.UTF-8): Implementazione gratuita OpenSSH della Secure Shell
33 Summary(pl.UTF-8): Publicznie dostępna implementacja bezpiecznego shella (SSH)
34 Summary(pt.UTF-8): Implementação livre OpenSSH do protocolo 'Secure Shell' (SSH)
35 Summary(pt_BR.UTF-8): Implementação livre do SSH
36 Summary(ru.UTF-8): OpenSSH - свободная реализация протокола Secure Shell (SSH)
37 Summary(uk.UTF-8): OpenSSH - вільна реалізація протоколу Secure Shell (SSH)
43 Group: Applications/Networking
44 Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/%{name}-%{version}.tar.gz
45 # Source0-md5: 08f72de6751acfbd0892b5f003922701
46 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
47 # Source1-md5: 66943d481cc422512b537bcc2c7400d1
48 Source2: %{name}d.init
49 Source3: %{name}d.pamd
50 Source4: %{name}.sysconfig
52 Source6: ssh-agent.conf
53 Source7: %{name}-lpk.schema
57 Source12: sshd@.service
58 Patch0: %{name}-no_libnsl.patch
59 Patch2: %{name}-pam_misc.patch
60 Patch3: %{name}-sigpipe.patch
61 # http://pkgs.fedoraproject.org/gitweb/?p=openssh.git;a=tree
62 Patch4: %{name}-ldap.patch
63 Patch5: %{name}-ldap-fixes.patch
64 Patch6: ldap.conf.patch
65 Patch7: %{name}-config.patch
66 Patch8: ldap-helper-sigpipe.patch
67 # High Performance SSH/SCP - HPN-SSH - http://www.psc.edu/networking/projects/hpn-ssh/
68 # http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.2p1-hpn13v6.diff.gz
69 Patch9: %{name}-5.2p1-hpn13v6.diff
70 Patch10: %{name}-include.patch
71 Patch11: %{name}-chroot.patch
73 Patch14: %{name}-bind.patch
74 Patch15: %{name}-disable_ldap.patch
75 Patch16: libseccomp-sandbox.patch
76 URL: http://www.openssh.com/portable.html
77 BuildRequires: %{__perl}
78 %{?with_audit:BuildRequires: audit-libs-devel}
79 BuildRequires: autoconf >= 2.50
80 BuildRequires: automake
81 %{?with_gnome:BuildRequires: gnome-libs-devel}
82 %{?with_gtk:BuildRequires: gtk+2-devel}
83 %{?with_kerberos5:BuildRequires: heimdal-devel >= 0.7}
84 %{?with_libedit:BuildRequires: libedit-devel}
85 BuildRequires: libseccomp-devel
86 %{?with_selinux:BuildRequires: libselinux-devel}
87 %{?with_ldap:BuildRequires: openldap-devel}
88 BuildRequires: openssl-devel >= 0.9.8f
89 BuildRequires: pam-devel
90 %{?with_gtk:BuildRequires: pkgconfig}
91 BuildRequires: rpm >= 4.4.9-56
92 BuildRequires: rpmbuild(macros) >= 1.627
93 BuildRequires: sed >= 4.0
94 BuildRequires: zlib-devel >= 1.2.3
95 %if %{with tests} && 0%(id -u sshd >/dev/null 2>&1; echo $?)
96 BuildRequires: %{name}-server
98 %if %{with tests} && %{with libseccomp}
99 # libseccomp based sandbox requires NO_NEW_PRIVS prctl flag
100 BuildRequires: uname(release) >= 3.5
102 Requires: zlib >= 1.2.3
103 %if "%{pld_release}" == "ac"
104 Requires: filesystem >= 2.0-1
105 Requires: pam >= 0.79.0
107 Requires: filesystem >= 3.0-11
108 Requires: pam >= %{pam_ver}
109 Suggests: xorg-app-xauth
111 %{?with_libseccomp:Requires: uname(release) >= 3.5}
113 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
115 %define _sysconfdir /etc/ssh
116 %define _libexecdir %{_libdir}/%{name}
117 %define _privsepdir /usr/share/empty
118 %define schemadir /usr/share/openldap/schema
121 Ssh (Secure Shell) a program for logging into a remote machine and for
122 executing commands in a remote machine. It is intended to replace
123 rlogin and rsh, and provide secure encrypted communications between
124 two untrusted hosts over an insecure network. X11 connections and
125 arbitrary TCP/IP ports can also be forwarded over the secure channel.
127 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
128 it up to date in terms of security and features, as well as removing
129 all patented algorithms to seperate libraries (OpenSSL).
131 This package includes the core files necessary for both the OpenSSH
132 client and server. To make this package useful, you should also
133 install openssh-clients, openssh-server, or both.
136 This release includes High Performance SSH/SCP patches from
137 http://www.psc.edu/networking/projects/hpn-ssh/ which are supposed to
138 increase throughput on fast connections with high RTT (20-150 msec).
139 See the website for '-w' values for your connection and /proc/sys TCP
140 values. BTW. in a LAN you have got generally RTT < 1 msec.
143 %description -l de.UTF-8
144 OpenSSH (Secure Shell) stellt den Zugang zu anderen Rechnern her. Es
145 ersetzt telnet, rlogin, rexec und rsh und stellt eine sichere,
146 verschlüsselte Verbindung zwischen zwei nicht vertrauenswürdigen Hosts
147 über eine unsicheres Netzwerk her. X11 Verbindungen und beliebige
148 andere TCP/IP Ports können ebenso über den sicheren Channel
149 weitergeleitet werden.
151 %description -l es.UTF-8
152 SSH es un programa para accesar y ejecutar órdenes en computadores
153 remotos. Sustituye rlogin y rsh, y suministra un canal de comunicación
154 seguro entre dos servidores en una red insegura. Conexiones X11 y
155 puertas TCP/IP arbitrárias también pueden ser usadas por el canal
158 OpenSSH es el resultado del trabajo del equipo de OpenBSD para
159 continuar la última versión gratuita de SSH, actualizándolo en
160 términos de seguridad y recursos,así también eliminando todos los
161 algoritmos patentados y colocándolos en bibliotecas separadas
164 Este paquete contiene "port" para Linux de OpenSSH. Se debe instalar
165 también el paquete openssh-clients u openssh-server o ambos.
167 %description -l fr.UTF-8
168 OpenSSH (Secure Shell) fournit un accès à un système distant. Il
169 remplace telnet, rlogin, rexec et rsh, tout en assurant des
170 communications cryptées securisées entre deux hôtes non fiabilisés sur
171 un réseau non sécurisé. Des connexions X11 et des ports TCP/IP
172 arbitraires peuvent également être transmis sur le canal sécurisé.
174 %description -l it.UTF-8
175 OpenSSH (Secure Shell) fornisce l'accesso ad un sistema remoto.
176 Sostituisce telnet, rlogin, rexec, e rsh, e fornisce comunicazioni
177 sicure e crittate tra due host non fidati su una rete non sicura. Le
178 connessioni X11 ad una porta TCP/IP arbitraria possono essere
179 inoltrate attraverso un canale sicuro.
181 %description -l pl.UTF-8
182 Ssh (Secure Shell) to program służący do logowania się na zdalną
183 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
184 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
185 pomiędzy dwoma hostami.
187 Ten pakiet zawiera podstawowe pliki potrzebne zarówno po stronie
188 klienta jak i serwera OpenSSH. Aby był użyteczny, trzeba zainstalować
189 co najmniej jeden z pakietów: openssh-clients lub openssh-server.
192 Ta wersja zawiera łaty z projektu High Performance SSH/SCP
193 http://www.psc.edu/networking/projects/hpn-ssh/, które mają na celu
194 zwiększenie przepustowości transmisji dla szybkich połączeń z dużym
195 RTT (20-150 msec). Na stronie projektu znaleźć można odpowednie dla
196 danego połączenia wartości parametru '-w' oraz opcje /proc/sys dla
197 TCP. Nawiasem mówiąc w sieciach LAN RTT < 1 msec.
200 %description -l pt.UTF-8
201 OpenSSH (Secure Shell) fornece acesso a um sistema remoto. Substitui o
202 telnet, rlogin, rexec, e o rsh e fornece comunicações seguras e
203 cifradas entre duas máquinas sem confiança mútua sobre uma rede
204 insegura. Ligações X11 e portos TCP/IP arbitrários também poder ser
205 reenviados pelo canal seguro.
207 %description -l pt_BR.UTF-8
208 SSH é um programa para acessar e executar comandos em máquinas
209 remotas. Ele substitui rlogin e rsh, e provem um canal de comunicação
210 seguro entre dois hosts em uma rede insegura. Conexões X11 e portas
211 TCP/IP arbitrárias também podem ser usadas pelo canal seguro.
213 OpenSSH é o resultado do trabalho da equipe do OpenBSD em continuar a
214 última versão gratuita do SSH, atualizando-o em termos de segurança e
215 recursos, assim como removendo todos os algoritmos patenteados e
216 colocando-os em bibliotecas separadas (OpenSSL).
218 Esse pacote contém o "port" pra Linux do OpenSSH. Você deve instalar
219 também ou o pacote openssh-clients, ou o openssh-server, ou ambos.
221 %description -l ru.UTF-8
222 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
223 машину и для выполнения команд на удаленной машине. Она предназначена
224 для замены rlogin и rsh и обеспечивает безопасную шифрованную
225 коммуникацию между двумя хостами в сети, являющейся небезопасной.
226 Соединения X11 и любые порты TCP/IP могут также быть проведены через
229 OpenSSH - это переделка командой разработчиков OpenBSD последней
230 свободной версии SSH, доведенная до современного состояния в терминах
231 уровня безопасности и поддерживаемых возможностей. Все патентованные
232 алгоритмы вынесены в отдельные библиотеки (OpenSSL).
234 Этот пакет содержит файлы, необходимые как для клиента, так и для
235 сервера OpenSSH. Вам нужно будет установить еще openssh-clients,
236 openssh-server, или оба пакета.
238 %description -l uk.UTF-8
239 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
240 машини та для виконання команд на віддаленій машині. Вона призначена
241 для заміни rlogin та rsh і забезпечує безпечну шифровану комунікацію
242 між двома хостами в мережі, яка не є безпечною. З'єднання X11 та
243 довільні порти TCP/IP можуть також бути проведені через безпечний
246 OpenSSH - це переробка командою розробників OpenBSD останньої вільної
247 версії SSH, доведена до сучасного стану в термінах рівня безпеки та
248 підтримуваних можливостей. Всі патентовані алгоритми винесені до
249 окремих бібліотек (OpenSSL).
251 Цей пакет містить файли, необхідні як для клієнта, так і для сервера
252 OpenSSH. Вам потрібно буде ще встановити openssh-clients,
253 openssh-server, чи обидва пакети.
256 Summary: OpenSSH Secure Shell protocol clients
257 Summary(es.UTF-8): Clientes de OpenSSH
258 Summary(pl.UTF-8): Klienci protokołu Secure Shell
259 Summary(pt_BR.UTF-8): Clientes do OpenSSH
260 Summary(ru.UTF-8): OpenSSH - клиенты протокола Secure Shell
261 Summary(uk.UTF-8): OpenSSH - клієнти протоколу Secure Shell
262 Group: Applications/Networking
264 Provides: ssh-clients
265 Obsoletes: ssh-clients
266 %requires_eq_to openssl openssl-devel
269 Ssh (Secure Shell) a program for logging into a remote machine and for
270 executing commands in a remote machine. It is intended to replace
271 rlogin and rsh, and provide secure encrypted communications between
272 two untrusted hosts over an insecure network. X11 connections and
273 arbitrary TCP/IP ports can also be forwarded over the secure channel.
275 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
276 it up to date in terms of security and features, as well as removing
277 all patented algorithms to seperate libraries (OpenSSL).
279 This package includes the clients necessary to make encrypted
280 connections to SSH servers.
282 %description clients -l es.UTF-8
283 Este paquete incluye los clientes que se necesitan para hacer
284 conexiones codificadas con servidores SSH.
286 %description clients -l pl.UTF-8
287 Ssh (Secure Shell) to program służący do logowania się na zdalną
288 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
289 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
290 pomiędzy dwoma hostami.
292 Ten pakiet zawiera klientów służących do łączenia się z serwerami SSH.
294 %description clients -l pt_BR.UTF-8
295 Esse pacote inclui os clientes necessários para fazer conexões
296 encriptadas com servidores SSH.
298 %description clients -l ru.UTF-8
299 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
300 машину и для выполнения команд на удаленной машине.
302 Этот пакет содержит программы-клиенты, необходимые для установления
303 зашифрованных соединений с серверами SSH.
305 %description clients -l uk.UTF-8
306 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
307 машини та для виконання команд на віддаленій машині.
309 Цей пакет містить програми-клієнти, необхідні для встановлення
310 зашифрованих з'єднань з серверами SSH.
312 %package clients-agent-profile_d
313 Summary: OpenSSH Secure Shell agent init script
314 Summary(pl.UTF-8): Skrypt startowy agenta OpenSSH
315 Group: Applications/Networking
316 Requires: %{name}-clients = %{epoch}:%{version}-%{release}
318 %description clients-agent-profile_d
319 profile.d scripts for starting SSH agent.
321 %description clients-agent-profile_d -l pl.UTF-8
322 Skrypty profile.d do uruchamiania agenta SSH.
324 %package clients-agent-xinitrc
325 Summary: OpenSSH Secure Shell agent init script
326 Summary(pl.UTF-8): Skrypt inicjujący agenta ssh przez xinitrc
327 Group: Applications/Networking
328 Requires: %{name}-clients-agent-profile_d = %{epoch}:%{version}-%{release}
331 %description clients-agent-xinitrc
332 xinitrc scripts for starting SSH agent.
334 %description clients-agent-xinitrc -l pl.UTF-8
335 Skrypty xinitrc do uruchamiania agenta SSH.
338 Summary: OpenSSH Secure Shell protocol server (sshd)
339 Summary(de.UTF-8): OpenSSH Secure Shell Protocol-Server (sshd)
340 Summary(es.UTF-8): Servidor OpenSSH para comunicaciones codificadas
341 Summary(fr.UTF-8): Serveur de protocole du shell sécurisé OpenSSH (sshd)
342 Summary(it.UTF-8): Server OpenSSH per il protocollo Secure Shell (sshd)
343 Summary(pl.UTF-8): Serwer protokołu Secure Shell (sshd)
344 Summary(pt.UTF-8): Servidor do protocolo 'Secure Shell' OpenSSH (sshd)
345 Summary(pt_BR.UTF-8): Servidor OpenSSH para comunicações encriptadas
346 Summary(ru.UTF-8): OpenSSH - сервер протокола Secure Shell (sshd)
347 Summary(uk.UTF-8): OpenSSH - сервер протоколу Secure Shell (sshd)
348 Group: Networking/Daemons
349 Requires(post): /sbin/chkconfig
351 Requires(post,preun): /sbin/chkconfig
352 Requires(postun): /usr/sbin/userdel
353 Requires(pre): /bin/id
354 Requires(pre): /usr/sbin/useradd
355 Requires(post,preun,postun): systemd-units >= 38
356 Requires: %{name} = %{epoch}:%{version}-%{release}
357 Requires: pam >= %{pam_ver}
358 Requires: rc-scripts >= 0.4.3.0
359 Requires: systemd-units >= 38
361 %{?with_ldap:Suggests: %{name}-server-ldap}
363 Suggests: xorg-app-xauth
366 %requires_eq_to openssl openssl-devel
369 Ssh (Secure Shell) a program for logging into a remote machine and for
370 executing commands in a remote machine. It is intended to replace
371 rlogin and rsh, and provide secure encrypted communications between
372 two untrusted hosts over an insecure network. X11 connections and
373 arbitrary TCP/IP ports can also be forwarded over the secure channel.
375 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
376 it up to date in terms of security and features, as well as removing
377 all patented algorithms to seperate libraries (OpenSSL).
379 This package contains the secure shell daemon. The sshd is the server
380 part of the secure shell protocol and allows ssh clients to connect to
383 %description server -l de.UTF-8
384 Dieses Paket installiert den sshd, den Server-Teil der OpenSSH.
386 %description server -l es.UTF-8
387 Este paquete contiene el servidor SSH. sshd es la parte servidor del
388 protocolo secure shell y permite que clientes ssh se conecten a su
391 %description server -l fr.UTF-8
392 Ce paquetage installe le 'sshd', partie serveur de OpenSSH.
394 %description server -l it.UTF-8
395 Questo pacchetto installa sshd, il server di OpenSSH.
397 %description server -l pl.UTF-8
398 Ssh (Secure Shell) to program służący do logowania się na zdalną
399 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
400 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
401 pomiędzy dwoma hostami.
403 Ten pakiet zawiera serwer sshd (do którego mogą łączyć się klienci
406 %description server -l pt.UTF-8
407 Este pacote intala o sshd, o servidor do OpenSSH.
409 %description server -l pt_BR.UTF-8
410 Esse pacote contém o servidor SSH. O sshd é a parte servidor do
411 protocolo secure shell e permite que clientes ssh se conectem ao seu
414 %description server -l ru.UTF-8
415 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
416 машину и для выполнения команд на удаленной машине.
418 Этот пакет содержит sshd - "демон" Secure Shell. sshd - это серверная
419 часть протокола Secure Shell, позволяющая клиентам ssh соединяться с
422 %description server -l uk.UTF-8
423 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
424 машини та для виконання команд на віддаленій машині.
426 Цей пакет містить sshd - "демон" Secure Shell. sshd - це серверна
427 частина протоколу Secure Shell, яка дозволяє клієнтам ssh зв'язуватись
431 Summary: A LDAP support for open source SSH server daemon
432 Summary(pl.UTF-8): Wsparcie LDAP dla serwera OpenSSH
434 Requires: %{name} = %{epoch}:%{version}-%{release}
435 Requires: openldap-nss-config
437 %description server-ldap
438 OpenSSH LDAP backend is a way how to distribute the authorized tokens
439 among the servers in the network.
441 %description server-ldap -l pl.UTF-8
442 Backend LDAP dla OpenSSH to metoda rozprowadzania autoryzowanych
443 tokenów między serwerami w sieci.
445 %package gnome-askpass
446 Summary: OpenSSH GNOME passphrase dialog
447 Summary(de.UTF-8): OpenSSH GNOME Passwort-Dialog
448 Summary(es.UTF-8): Diálogo para introducción de passphrase para GNOME
449 Summary(fr.UTF-8): Dialogue pass-phrase GNOME d'OpenSSH
450 Summary(it.UTF-8): Finestra di dialogo GNOME per la frase segreta di OpenSSH
451 Summary(pl.UTF-8): Odpytywacz hasła OpenSSH dla GNOME
452 Summary(pt.UTF-8): Diálogo de pedido de senha para GNOME do OpenSSH
453 Summary(pt_BR.UTF-8): Diálogo para entrada de passphrase para GNOME
454 Summary(ru.UTF-8): OpenSSH - диалог ввода ключевой фразы (passphrase) для GNOME
455 Summary(uk.UTF-8): OpenSSH - діалог вводу ключової фрази (passphrase) для GNOME
456 Group: Applications/Networking
457 Requires: %{name} = %{epoch}:%{version}-%{release}
458 Obsoletes: openssh-askpass
459 Obsoletes: ssh-askpass
460 Obsoletes: ssh-extras
462 %description gnome-askpass
463 Ssh (Secure Shell) a program for logging into a remote machine and for
464 executing commands in a remote machine. It is intended to replace
465 rlogin and rsh, and provide secure encrypted communications between
466 two untrusted hosts over an insecure network. X11 connections and
467 arbitrary TCP/IP ports can also be forwarded over the secure channel.
469 OpenSSH is OpenBSD's rework of the last free version of SSH, bringing
470 it up to date in terms of security and features, as well as removing
471 all patented algorithms to seperate libraries (OpenSSL).
473 This package contains the GNOME passphrase dialog.
475 %description gnome-askpass -l es.UTF-8
476 Este paquete contiene un programa que abre una caja de diálogo para
477 entrada de passphrase en GNOME.
479 %description gnome-askpass -l pl.UTF-8
480 Ssh (Secure Shell) to program służący do logowania się na zdalną
481 maszynę i uruchamiania na niej aplikacji. W zamierzeniu openssh ma
482 zastąpić rlogin, rsh i dostarczyć bezpieczne, szyfrowane połączenie
483 pomiędzy dwoma hostami.
485 Ten pakiet zawiera ,,odpytywacz hasła'' dla GNOME.
487 %description gnome-askpass -l pt_BR.UTF-8
488 Esse pacote contém um programa que abre uma caixa de diálogo para
489 entrada de passphrase no GNOME.
491 %description gnome-askpass -l ru.UTF-8
492 Ssh (Secure Shell) - это программа для "захода" (login) на удаленную
493 машину и для выполнения команд на удаленной машине.
495 Этот пакет содержит диалог ввода ключевой фразы для использования под
498 %description gnome-askpass -l uk.UTF-8
499 Ssh (Secure Shell) - це програма для "заходу" (login) до віддаленої
500 машини та для виконання команд на віддаленій машині.
502 Цей пакет містить діалог вводу ключової фрази для використання під
505 %package -n openldap-schema-openssh-lpk
506 Summary: OpenSSH LDAP Public Key schema
507 Summary(pl.UTF-8): Schemat klucza publicznego LDAP dla OpenSSH
508 Group: Networking/Daemons
509 Requires(post,postun): sed >= 4.0
510 Requires: openldap-servers
511 %if "%{_rpmversion}" >= "5"
515 %description -n openldap-schema-openssh-lpk
516 This package contains OpenSSH LDAP Public Key schema for openldap.
518 %description -n openldap-schema-openssh-lpk -l pl.UTF-8
519 Ten pakiet zawiera schemat klucza publicznego LDAP dla OpenSSH dla
533 %{?with_hpn:%patch9 -p1}
538 %{!?with_ldap:%patch15 -p1}
539 %{?with_libseccomp:%patch16 -p1}
541 %if "%{pld_release}" == "ac"
542 # fix for missing x11.pc
543 %{__sed} -i -e 's/\(`$(PKG_CONFIG) --libs gtk+-2.0\) x11`/\1` -lX11/' contrib/Makefile
546 # hack since arc4random from openbsd-compat needs symbols from libssh and vice versa
547 sed -i -e 's#-lssh -lopenbsd-compat#-lssh -lopenbsd-compat -lssh#g' Makefile*
549 grep -rl /usr/libexec/openssh/ssh-ldap-helper . | xargs \
550 %{__sed} -i -e 's,/usr/libexec/openssh/ssh-ldap-helper,%{_libexecdir}/ssh-ldap-helper,'
552 # prevent being ovewritten by aclocal calls
553 mv aclocal.m4 acinclude.m4
556 cp /usr/share/automake/config.sub .
560 CPPFLAGS="%{rpmcppflags} -DCHROOT -std=gnu99"
567 %{?with_audit:--with-audit=linux} \
568 --with-ipaddr-display \
569 %{?with_kerberos5:--with-kerberos5=/usr} \
570 --with-ldap%{!?with_ldap:=no} \
571 %{?with_libedit:--with-libedit} \
573 --with-md5-passwords \
575 --with-pid-dir=%{_localstatedir}/run \
576 --with-privsep-path=%{_privsepdir} \
577 --with-privsep-user=sshd \
578 %{?with_selinux:--with-selinux} \
579 %if "%{pld_release}" == "ac"
580 --with-xauth=/usr/X11R6/bin/xauth
582 --with-sandbox=%{sandbox} \
583 --with-xauth=%{_bindir}/xauth
586 echo '#define LOGIN_PROGRAM "/bin/login"' >>config.h
590 %{?with_tests:%{__make} -j1 tests}
594 %{__make} gnome-ssh-askpass1 \
595 CC="%{__cc} %{rpmldflags} %{rpmcflags}"
598 %{__make} gnome-ssh-askpass2 \
599 CC="%{__cc} %{rpmldflags} %{rpmcflags}"
603 rm -rf $RPM_BUILD_ROOT
604 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{pam.d,rc.d/init.d,sysconfig,security,env.d}} \
605 $RPM_BUILD_ROOT{%{_libexecdir}/ssh,%{schemadir},%{systemdunitdir}}
606 install -d $RPM_BUILD_ROOT/etc/{profile.d,X11/xinit/xinitrc.d}
609 DESTDIR=$RPM_BUILD_ROOT
611 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
613 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd
614 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/sshd
615 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/sshd
616 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/profile.d
617 ln -sf /etc/profile.d/ssh-agent.sh $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/ssh-agent.sh
618 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}
619 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{schemadir}
621 cp -p %{SOURCE9} %{SOURCE11} %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}
622 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
624 %{__sed} -e 's|@@LIBEXECDIR@@|%{_libexecdir}|g' \
625 $RPM_BUILD_ROOT%{systemdunitdir}/sshd.service \
626 $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
629 install -p contrib/gnome-ssh-askpass1 $RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
632 install -p contrib/gnome-ssh-askpass2 $RPM_BUILD_ROOT%{_libexecdir}/ssh/ssh-askpass
634 %if %{with gnome} || %{with gtk}
635 cat << 'EOF' >$RPM_BUILD_ROOT/etc/env.d/GNOME_SSH_ASKPASS_GRAB_SERVER
636 #GNOME_SSH_ASKPASS_GRAB_SERVER="true"
638 cat << 'EOF' >$RPM_BUILD_ROOT/etc/env.d/GNOME_SSH_ASKPASS_GRAB_POINTER
639 #GNOME_SSH_ASKPASS_GRAB_POINTER="true"
641 ln -s %{_libexecdir}/ssh/ssh-askpass $RPM_BUILD_ROOT%{_libexecdir}/ssh-askpass
644 install -p contrib/ssh-copy-id $RPM_BUILD_ROOT%{_bindir}
645 cp -p contrib/ssh-copy-id.1 $RPM_BUILD_ROOT%{_mandir}/man1
647 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/slogin.1
648 echo ".so ssh.1" > $RPM_BUILD_ROOT%{_mandir}/man1/slogin.1
650 touch $RPM_BUILD_ROOT/etc/security/blacklist.sshd
652 cat << 'EOF' > $RPM_BUILD_ROOT/etc/env.d/SSH_ASKPASS
653 #SSH_ASKPASS="%{_libexecdir}/ssh-askpass"
656 %if "%{pld_release}" == "ac"
657 # not present in ac, no point searching it
658 %{__sed} -i -e '/pam_keyinit.so/d' $RPM_BUILD_ROOT/etc/pam.d/sshd
659 # openssl on ac does not have OPENSSL_HAS_ECC
660 %{__sed} -i -e '/ecdsa/d' $RPM_BUILD_ROOT%{_libexecdir}/sshd-keygen
664 # remove recording user's login uid to the process attribute
665 %{__sed} -i -e '/pam_loginuid.so/d' $RPM_BUILD_ROOT/etc/pam.d/sshd
668 %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.openssh-non-english-man-pages
669 %{?with_ldap:%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ldap.conf}
672 rm -rf $RPM_BUILD_ROOT
683 %postun gnome-askpass
687 %useradd -P %{name}-server -u 40 -d %{_privsepdir} -s /bin/false -c "OpenSSH PrivSep User" -g nobody sshd
690 /sbin/chkconfig --add sshd
691 %service sshd reload "OpenSSH Daemon"
693 %systemd_post sshd.service
696 if [ "$1" = "0" ]; then
698 /sbin/chkconfig --del sshd
700 %systemd_preun sshd.service
703 if [ "$1" = "0" ]; then
708 %triggerpostun server -- %{name}-server < 6.2p1-1
709 cp -f %{_sysconfdir}/sshd_config{,.rpmorig}
710 sed -i -e 's#AuthorizedKeysCommandRunAs#AuthorizedKeysCommandUser##g' %{_sysconfdir}/sshd_config
712 %triggerpostun server -- %{name}-server < 2:5.9p1-8
713 # lpk.patch to ldap.patch
714 if grep -qE '^(UseLPK|Lpk)' %{_sysconfdir}/sshd_config; then
715 echo >&2 "Migrating LPK patch to LDAP patch"
716 cp -f %{_sysconfdir}/sshd_config{,.rpmorig}
718 # disable old configs
719 # just UseLPK/LkpLdapConf supported for now
720 s/^\s*UseLPK/## Obsolete &/
721 s/^\s*Lpk/## Obsolete &/
722 # Enable new ones, assumes /etc/ldap.conf defaults, see HOWTO.ldap-keys
723 /UseLPK/iAuthorizedKeysCommand %{_libexecdir}/ssh-ldap-wrapper
724 ' %{_sysconfdir}/sshd_config
725 if [ ! -x /bin/systemd_booted ] || ! /bin/systemd_booted; then
726 /bin/systemctl try-restart sshd.service || :
728 %service -q sshd reload
731 %systemd_trigger sshd.service
732 if [ -x /bin/systemd_booted ] && /bin/systemd_booted; then
733 %banner %{name}-server -e << EOF
734 !!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!
735 ! Native systemd support for sshd has been installed. !
736 ! Restarting sshd.service with systemctl WILL kill all !
737 ! active ssh sessions (daemon as such will be started). !
738 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
742 %post -n openldap-schema-openssh-lpk
743 %openldap_schema_register %{schemadir}/openssh-lpk.schema
744 %service -q ldap restart
746 %postun -n openldap-schema-openssh-lpk
747 if [ "$1" = "0" ]; then
748 %openldap_schema_unregister %{schemadir}/openssh-lpk.schema
749 %service -q ldap restart
753 %defattr(644,root,root,755)
754 %doc TODO README OVERVIEW CREDITS Change*
755 %attr(755,root,root) %{_bindir}/ssh-key*
756 #%attr(755,root,root) %{_bindir}/ssh-vulnkey*
757 %{_mandir}/man1/ssh-key*.1*
758 #%{_mandir}/man1/ssh-vulnkey*.1*
763 %defattr(644,root,root,755)
764 %attr(755,root,root) %{_bindir}/ssh
765 %attr(755,root,root) %{_bindir}/slogin
766 %attr(755,root,root) %{_bindir}/sftp
767 %attr(755,root,root) %{_bindir}/ssh-agent
768 %attr(755,root,root) %{_bindir}/ssh-add
769 %attr(755,root,root) %{_bindir}/ssh-copy-id
770 %attr(755,root,root) %{_bindir}/scp
771 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ssh_config
772 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/SSH_ASKPASS
773 %{_mandir}/man1/scp.1*
774 %{_mandir}/man1/ssh.1*
775 %{_mandir}/man1/slogin.1*
776 %{_mandir}/man1/sftp.1*
777 %{_mandir}/man1/ssh-agent.1*
778 %{_mandir}/man1/ssh-add.1*
779 %{_mandir}/man1/ssh-copy-id.1*
780 %{_mandir}/man5/ssh_config.5*
781 %lang(it) %{_mandir}/it/man1/ssh.1*
782 %lang(it) %{_mandir}/it/man5/ssh_config.5*
783 %lang(pl) %{_mandir}/pl/man1/scp.1*
784 %lang(zh_CN) %{_mandir}/zh_CN/man1/scp.1*
786 # for host-based auth (suid required for accessing private host key)
787 #%attr(4755,root,root) %{_libexecdir}/ssh-keysign
788 #%{_mandir}/man8/ssh-keysign.8*
790 %files clients-agent-profile_d
791 %defattr(644,root,root,755)
792 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ssh-agent.conf
793 %attr(755,root,root) /etc/profile.d/ssh-agent.sh
795 %files clients-agent-xinitrc
796 %defattr(644,root,root,755)
797 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/ssh-agent.sh
800 %defattr(644,root,root,755)
801 %attr(755,root,root) %{_sbindir}/sshd
802 %attr(755,root,root) %{_libexecdir}/sftp-server
803 %attr(755,root,root) %{_libexecdir}/ssh-keysign
804 %attr(755,root,root) %{_libexecdir}/ssh-pkcs11-helper
805 %attr(755,root,root) %{_libexecdir}/sshd-keygen
806 %{_mandir}/man8/sshd.8*
807 %{_mandir}/man8/sftp-server.8*
808 %{_mandir}/man8/ssh-keysign.8*
809 %{_mandir}/man8/ssh-pkcs11-helper.8*
810 %{_mandir}/man5/sshd_config.5*
811 %{_mandir}/man5/moduli.5*
812 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sshd_config
813 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/sshd
814 %attr(640,root,root) %{_sysconfdir}/moduli
815 %attr(754,root,root) /etc/rc.d/init.d/sshd
816 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sshd
817 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.sshd
818 %{systemdunitdir}/sshd.service
819 %{systemdunitdir}/sshd.socket
820 %{systemdunitdir}/sshd@.service
824 %defattr(644,root,root,755)
825 %doc HOWTO.ldap-keys ldap.conf
826 %attr(755,root,root) %{_libexecdir}/ssh-ldap-helper
827 %attr(755,root,root) %{_libexecdir}/ssh-ldap-wrapper
828 %{_mandir}/man5/ssh-ldap.conf.5*
829 %{_mandir}/man8/ssh-ldap-helper.8*
832 %if %{with gnome} || %{with gtk}
834 %defattr(644,root,root,755)
835 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/env.d/GNOME_SSH_ASKPASS*
836 %dir %{_libexecdir}/ssh
837 %attr(755,root,root) %{_libexecdir}/ssh/ssh-askpass
838 %attr(755,root,root) %{_libexecdir}/ssh-askpass
842 %files -n openldap-schema-openssh-lpk
843 %defattr(644,root,root,755)
844 %{schemadir}/openssh-lpk.schema