diff options
author | Xin LI <delphij@FreeBSD.org> | 2014-05-13 23:24:32 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2014-05-13 23:24:32 +0000 |
commit | c5306947f754ae1c8e27f7039f58d7c3453abfac (patch) | |
tree | 047686b2742a70d40d081f05fa8ca17c01b4f97e | |
parent | 01ec0f5dcbc5f30b15d7dc62133d9323e12440e9 (diff) | |
download | src-test2-c5306947f754ae1c8e27f7039f58d7c3453abfac.tar.gz src-test2-c5306947f754ae1c8e27f7039f58d7c3453abfac.zip |
Notes
-rw-r--r-- | UPDATING | 7 | ||||
-rw-r--r-- | etc/Makefile | 1 | ||||
-rw-r--r-- | etc/mtree/BSD.root.dist | 2 | ||||
-rw-r--r-- | etc/mtree/BSD.usr.dist | 8 | ||||
-rw-r--r-- | etc/pkg/FreeBSD.conf | 16 | ||||
-rw-r--r-- | etc/pkg/Makefile | 10 | ||||
-rw-r--r-- | share/Makefile | 1 | ||||
-rw-r--r-- | share/keys/Makefile | 5 | ||||
-rw-r--r-- | share/keys/pkg/Makefile | 5 | ||||
-rw-r--r-- | share/keys/pkg/trusted/Makefile | 10 | ||||
-rw-r--r-- | share/keys/pkg/trusted/pkg.freebsd.org.2013102301 | 4 | ||||
-rw-r--r-- | share/man/man7/hier.7 | 12 | ||||
-rw-r--r-- | sys/conf/newvers.sh | 2 | ||||
-rw-r--r-- | usr.sbin/kldxref/kldxref.c | 12 | ||||
-rw-r--r-- | usr.sbin/pkg/pkg.c | 30 |
15 files changed, 97 insertions, 28 deletions
@@ -15,6 +15,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW ON IA64 OR SUN4V: debugging tools present in HEAD were left in place because sun4v support still needs work to become production ready. +20140513: p10 FreeBSD-EN-14:03.pkg + FreeBSD-EN-14:04.kldxref + + Add pkg bootstrapping, configuration and public keys. [EN-14:03] + + Improve build repeatability for kldxref(8). [EN-14:04] + 20140430: p9 FreeBSD-SA-14:08.tcp Fix TCP reassembly vulnerability. [SA-14:08] diff --git a/etc/Makefile b/etc/Makefile index 1e67d9e8d587..713546166198 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -172,6 +172,7 @@ distribution: ${_+_}cd ${.CURDIR}/devd; ${MAKE} install ${_+_}cd ${.CURDIR}/gss; ${MAKE} install ${_+_}cd ${.CURDIR}/periodic; ${MAKE} install + ${_+_}cd ${.CURDIR}/pkg; ${MAKE} install ${_+_}cd ${.CURDIR}/rc.d; ${MAKE} install ${_+_}cd ${.CURDIR}/../gnu/usr.bin/send-pr; ${MAKE} etc-gnats-freefall ${_+_}cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist index ce8a4562d820..3468866abb7f 100644 --- a/etc/mtree/BSD.root.dist +++ b/etc/mtree/BSD.root.dist @@ -52,6 +52,8 @@ weekly .. .. + pkg + .. ppp .. rc.d diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index 13c834d1f525..2599a429f4b9 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -340,6 +340,14 @@ .. info .. + keys + pkg + revoked + .. + trusted + .. + .. + .. locale UTF-8 .. diff --git a/etc/pkg/FreeBSD.conf b/etc/pkg/FreeBSD.conf new file mode 100644 index 000000000000..e4eec8f11451 --- /dev/null +++ b/etc/pkg/FreeBSD.conf @@ -0,0 +1,16 @@ +# $FreeBSD$ +# +# To disable this repository, instead of modifying or removing this file, +# create a /usr/local/etc/pkg/repos/FreeBSD.conf file: +# +# mkdir -p /usr/local/etc/pkg/repos +# echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf +# + +FreeBSD: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/etc/pkg/Makefile b/etc/pkg/Makefile new file mode 100644 index 000000000000..abc8c64ca5cb --- /dev/null +++ b/etc/pkg/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +NO_OBJ= + +FILES= FreeBSD.conf + +FILESDIR= /etc/pkg +FILESMODE= 644 + +.include <bsd.prog.mk> diff --git a/share/Makefile b/share/Makefile index 308693c1bc76..296540c0e994 100644 --- a/share/Makefile +++ b/share/Makefile @@ -9,6 +9,7 @@ SUBDIR= ${_colldef} \ ${_dict} \ ${_doc} \ ${_examples} \ + keys \ ${_man} \ ${_me} \ misc \ diff --git a/share/keys/Makefile b/share/keys/Makefile new file mode 100644 index 000000000000..d685b064ccd3 --- /dev/null +++ b/share/keys/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= pkg + +.include <bsd.subdir.mk> diff --git a/share/keys/pkg/Makefile b/share/keys/pkg/Makefile new file mode 100644 index 000000000000..1d83caf9bfe8 --- /dev/null +++ b/share/keys/pkg/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= trusted + +.include <bsd.subdir.mk> diff --git a/share/keys/pkg/trusted/Makefile b/share/keys/pkg/trusted/Makefile new file mode 100644 index 000000000000..ee0d4c9224cd --- /dev/null +++ b/share/keys/pkg/trusted/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +NO_OBJ= + +FILES= pkg.freebsd.org.2013102301 + +FILESDIR= /usr/share/keys/pkg/trusted +FILESMODE= 644 + +.include <bsd.prog.mk> diff --git a/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 b/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 new file mode 100644 index 000000000000..3a144a338f29 --- /dev/null +++ b/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 @@ -0,0 +1,4 @@ +# $FreeBSD$ + +function: "sha256" +fingerprint: "b0170035af3acc5f3f3ae1859dc717101b4e6c1d0a794ad554928ca0cbb2f438" diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index 7b98eaaa1430..068c7ce89ccd 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -32,7 +32,7 @@ .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd May 25, 2008 +.Dd October 29, 2013 .Dt HIER 7 .Os .Sh NAME @@ -546,6 +546,16 @@ ASCII text files used by various games device description file for device name .It Pa info/ GNU Info hypertext system +.It Pa keys/ +known trusted and revoked keys. +.Bl -tag -width ".Pa keys/pkg/" -compact +.It Pa keys/pkg/ +fingerprints for +.Xr pkg 7 +and +.Xr pkg 8 +.El +.Pp .It Pa locale/ localization files; see diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 8540a3f3d2bb..92c74374888b 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="8.4" -BRANCH="RELEASE-p9" +BRANCH="RELEASE-p10" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c index b4de191bc696..30245d087eaa 100644 --- a/usr.sbin/kldxref/kldxref.c +++ b/usr.sbin/kldxref/kldxref.c @@ -275,6 +275,16 @@ usage(void) exit(1); } +static int +compare(const FTSENT *const *a, const FTSENT *const *b) +{ + if ((*a)->fts_info == FTS_D && (*b)->fts_info != FTS_D) + return 1; + if ((*a)->fts_info != FTS_D && (*b)->fts_info == FTS_D) + return -1; + return strcmp((*a)->fts_name, (*b)->fts_name); +} + int main(int argc, char *argv[]) { @@ -316,7 +326,7 @@ main(int argc, char *argv[]) err(1, "%s", argv[0]); } - ftsp = fts_open(argv, fts_options, 0); + ftsp = fts_open(argv, fts_options, compare); if (ftsp == NULL) exit(1); diff --git a/usr.sbin/pkg/pkg.c b/usr.sbin/pkg/pkg.c index 1b3146b2cf26..feb4d1cf5ea0 100644 --- a/usr.sbin/pkg/pkg.c +++ b/usr.sbin/pkg/pkg.c @@ -284,13 +284,10 @@ bootstrap_pkg(void) { struct url *u; FILE *remote; - FILE *config; - char *site; struct dns_srvinfo *mirrors, *current; /* To store _https._tcp. + hostname + \0 */ char zone[MAXHOSTNAMELEN + 13]; char url[MAXPATHLEN]; - char conf[MAXPATHLEN]; char abi[BUFSIZ]; char tmppkg[MAXPATHLEN]; char buf[10240]; @@ -306,7 +303,6 @@ bootstrap_pkg(void) max_retry = 3; ret = -1; remote = NULL; - config = NULL; current = mirrors = NULL; printf("Bootstrapping pkg please wait\n"); @@ -387,26 +383,6 @@ bootstrap_pkg(void) if ((ret = extract_pkg_static(fd, pkgstatic, MAXPATHLEN)) == 0) ret = install_pkg_static(pkgstatic, tmppkg); - snprintf(conf, MAXPATHLEN, "%s/etc/pkg.conf", - getenv("LOCALBASE") ? getenv("LOCALBASE") : _LOCALBASE); - - if (access(conf, R_OK) == -1) { - site = strrchr(url, '/'); - if (site == NULL) - goto cleanup; - site[0] = '\0'; - site = strrchr(url, '/'); - if (site == NULL) - goto cleanup; - site[0] = '\0'; - - config = fopen(conf, "w+"); - if (config == NULL) - goto cleanup; - fprintf(config, "packagesite: %s\n", url); - fclose(config); - } - goto cleanup; fetchfail: @@ -423,7 +399,11 @@ cleanup: static const char confirmation_message[] = "The package management tool is not yet installed on your system.\n" -"Do you want to fetch and install it now? [y/N]: "; +"The mechanism for doing this is not secure on FreeBSD 8. To securely install\n" +"pkg(8), use ports from a portsnap checkout:\n" +" # portsnap fetch extract\n" +" # make -C /usr/ports/ports-mgmt/pkg install clean\n" +"Do you still want to fetch and install it now? [y/N]: "; static int pkg_query_yes_no(void) |