Mercurial > dropbear
view debian/implicit @ 1630:9579377b5f8b
use strlcpy & strlcat (#74)
* refactor checkpubkeyperms() with safe BSD functions
fix gcc8 warnings
```
svr-authpubkey.c: In function 'checkpubkeyperms':
svr-authpubkey.c:427:2: warning: 'strncat' specified bound 5 equals source length [-Wstringop-overflow=]
strncat(filename, "/.ssh", 5); /* strlen("/.ssh") == 5 */
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
svr-authpubkey.c:433:2: warning: 'strncat' specified bound 16 equals source length [-Wstringop-overflow=]
strncat(filename, "/authorized_keys", 16);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
see https://www.sudo.ws/todd/papers/strlcpy.html
* restore strlcpy in xstrdup
see original https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/xmalloc.c?rev=1.16
author | François Perrad <francois.perrad@gadz.org> |
---|---|
date | Wed, 20 Mar 2019 15:09:19 +0100 |
parents | 1857c2c551ea |
children |
line wrap: on
line source
# $Id: implicit,v 1.11 2005/11/29 21:57:55 pape Exp $ .PHONY: deb-checkdir deb-checkuid deb-checkdir: @test -e debian/control || sh -cx '! : wrong directory' deb-checkuid: @test "`id -u`" -eq 0 || sh -cx '! : need root privileges' %.deb: %.deb-docs %.deb-DEBIAN @rm -f $*.deb $*.deb-checkdir $*.deb-docs $*.deb-docs-base \ $*.deb-docs-docs $*.deb-docs-examples $*.deb-DEBIAN \ $*.deb-DEBIAN-dir $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums %.udeb: %.deb-DEBIAN @rm -f $*.deb $*.deb-checkdir $*.deb-DEBIAN $*.deb-DEBIAN-dir \ $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums %.deb-checkdir: @test -d debian/$* || sh -cx '! : directory debian/$* missing' @test "`id -u`" -eq 0 || sh -cx '! : need root privileges' %.deb-docs-base: : implicit @rm -f debian/$*/usr/share/doc/$*/* || : @install -d -m0755 debian/$*/usr/share/doc/$* : debian/$*/usr/share/doc/$*/ @sh -cx 'install -m0644 debian/copyright debian/$*/usr/share/doc/$*/' @sh -cx 'install -m0644 debian/changelog \ debian/$*/usr/share/doc/$*/changelog.Debian' @test ! -r changelog || \ sh -cx 'install -m0644 changelog debian/$*/usr/share/doc/$*/' @test -r debian/$*/usr/share/doc/$*/changelog || \ sh -cx 'mv debian/$*/usr/share/doc/$*/changelog.Debian \ debian/$*/usr/share/doc/$*/changelog' @test -s debian/$*/usr/share/doc/$*/changelog || \ sh -cx 'rm -f debian/$*/usr/share/doc/$*/changelog' @gzip -9 debian/$*/usr/share/doc/$*/changelog* %.deb-docs-docs: @for i in `cat debian/$*.docs 2>/dev/null || :`; do \ if test -d $$i; then \ sh -cx "install -d -m0755 debian/$*/usr/share/doc/$*/$${i##*/}" && \ for j in $$i/*; do \ sh -cx "install -m0644 $$j \ debian/$*/usr/share/doc/$*/$${i##*/}/" || exit 1; \ done || exit 1; \ continue; \ fi; \ sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/" || exit 1; \ done @test ! -r debian/$*.README.Debian || \ sh -cx 'install -m0644 debian/$*.README.Debian \ debian/$*/usr/share/doc/$*/README.Debian' @if test -r debian/$*.NEWS.Debian; then \ sh -cx 'install -m0644 debian/$*.NEWS.Debian \ debian/$*/usr/share/doc/$*/NEWS.Debian && \ gzip -9 debian/$*/usr/share/doc/$*/NEWS.Debian'; \ fi %.deb-docs-examples: @rm -rf debian/$*/usr/share/doc/$*/examples : debian/$*/usr/share/doc/$*/examples/ @test ! -r debian/$*.examples || \ install -d -m0755 debian/$*/usr/share/doc/$*/examples @for i in `cat debian/$*.examples 2>/dev/null || :`; do \ sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/examples/" \ || exit 1; \ done %.deb-docs: %.deb-checkdir %.deb-docs-base %.deb-docs-docs %.deb-docs-examples : debian/$*/usr/share/doc/$*/ ok %.deb-DEBIAN-base: @rm -rf debian/$*/DEBIAN : debian/$*/DEBIAN/ @install -d -m0755 debian/$*/DEBIAN @for i in conffiles shlibs templates; do \ test ! -r debian/$*.$$i || \ sh -cx "install -m0644 debian/$*.$$i debian/$*/DEBIAN/$$i" \ || exit 1; \ done %.deb-DEBIAN-scripts: @for i in preinst prerm postinst postrm config; do \ test ! -r debian/$*.$$i || \ sh -cx "install -m0755 debian/$*.$$i debian/$*/DEBIAN/$$i" \ || exit 1; \ done %.deb-DEBIAN-md5sums: : debian/$*/DEBIAN/md5sums @rm -f debian/$*/DEBIAN/md5sums @cd debian/$* && find * -path 'DEBIAN' -prune -o \ -type f -exec md5sum {} >>DEBIAN/md5sums \; %.deb-DEBIAN: %.deb-checkdir %.deb-DEBIAN-base %.deb-DEBIAN-scripts \ %.deb-DEBIAN-md5sums : debian/$*/DEBIAN/ ok