mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-29 20:04:57 +01:00
Compare commits
45
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4493d04f4b | ||
|
|
ce2d23d4c3 | ||
|
|
9fe10651e9 | ||
|
|
a4a9338dd4 | ||
|
|
4da9c5a728 | ||
|
|
9855dd2376 | ||
|
|
45fb2fc413 | ||
|
|
e70d2e5cf3 | ||
|
|
b9a977a824 | ||
|
|
07f89c430f | ||
|
|
aea55657ff | ||
|
|
a57453d33d | ||
|
|
7b277c6d0b | ||
|
|
808d570e8e | ||
|
|
1a58de3adb | ||
|
|
2bee0d1627 | ||
|
|
e8ada9d870 | ||
|
|
4b41f17f29 | ||
|
|
e599c24cfe | ||
|
|
3944c1881d | ||
|
|
b99f9165eb | ||
|
|
94b445c94e | ||
|
|
8852850499 | ||
|
|
5f45e57447 | ||
|
|
a0fc0837d1 | ||
|
|
12eba1321c | ||
|
|
78c53355f1 | ||
|
|
48d032343c | ||
|
|
bb7319892f | ||
|
|
4b407891dd | ||
|
|
bfa6f99e91 | ||
|
|
25edfb6bd8 | ||
|
|
4a6712d364 | ||
|
|
519e2d55ae | ||
|
|
8fd84e1078 | ||
|
|
236a66e498 | ||
|
|
0911de95ac | ||
|
|
512f08014f | ||
|
|
6e8aac78a5 | ||
|
|
911c6efdde | ||
|
|
706a1f4eab | ||
|
|
7704299ea1 | ||
|
|
257229dc3c | ||
|
|
3fa483c3a3 | ||
|
|
f787c80d66 |
No files matched your search
+1
-1
@@ -92,7 +92,7 @@ CLEANDIR= cleandir
|
||||
.endif
|
||||
|
||||
CVS?= cvs
|
||||
CVSFLAGS?= -r RELENG_8 -P -d -I!
|
||||
CVSFLAGS?= -r RELENG_8_4 -P -d -I!
|
||||
SVN?= svn
|
||||
SVNFLAGS?= -r HEAD
|
||||
SUP?= /usr/bin/csup
|
||||
|
||||
@@ -15,6 +15,9 @@ 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.
|
||||
|
||||
20130429:
|
||||
Fix a bug that allows NFS clients to issue READDIR on files.
|
||||
|
||||
20130225:
|
||||
A new compression method (lz4) has been merged. Please refer to
|
||||
zpool-features(7) for more information.
|
||||
|
||||
@@ -1189,7 +1189,7 @@ dump_bpobj_cb(void *arg, const blkptr_t *bp, dmu_tx_t *tx)
|
||||
}
|
||||
|
||||
static void
|
||||
dump_bpobj(bpobj_t *bpo, char *name)
|
||||
dump_bpobj(bpobj_t *bpo, char *name, int indent)
|
||||
{
|
||||
char bytes[32];
|
||||
char comp[32];
|
||||
@@ -1199,31 +1199,57 @@ dump_bpobj(bpobj_t *bpo, char *name)
|
||||
return;
|
||||
|
||||
zdb_nicenum(bpo->bpo_phys->bpo_bytes, bytes);
|
||||
if (bpo->bpo_havesubobj) {
|
||||
if (bpo->bpo_havesubobj && bpo->bpo_phys->bpo_subobjs != 0) {
|
||||
zdb_nicenum(bpo->bpo_phys->bpo_comp, comp);
|
||||
zdb_nicenum(bpo->bpo_phys->bpo_uncomp, uncomp);
|
||||
(void) printf("\n %s: %llu local blkptrs, %llu subobjs, "
|
||||
"%s (%s/%s comp)\n",
|
||||
name, (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs,
|
||||
(void) printf(" %*s: object %llu, %llu local blkptrs, "
|
||||
"%llu subobjs, %s (%s/%s comp)\n",
|
||||
indent * 8, name,
|
||||
(u_longlong_t)bpo->bpo_object,
|
||||
(u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs,
|
||||
(u_longlong_t)bpo->bpo_phys->bpo_num_subobjs,
|
||||
bytes, comp, uncomp);
|
||||
|
||||
for (uint64_t i = 0; i < bpo->bpo_phys->bpo_num_subobjs; i++) {
|
||||
uint64_t subobj;
|
||||
bpobj_t subbpo;
|
||||
int error;
|
||||
VERIFY0(dmu_read(bpo->bpo_os,
|
||||
bpo->bpo_phys->bpo_subobjs,
|
||||
i * sizeof (subobj), sizeof (subobj), &subobj, 0));
|
||||
error = bpobj_open(&subbpo, bpo->bpo_os, subobj);
|
||||
if (error != 0) {
|
||||
(void) printf("ERROR %u while trying to open "
|
||||
"subobj id %llu\n",
|
||||
error, (u_longlong_t)subobj);
|
||||
continue;
|
||||
}
|
||||
dump_bpobj(&subbpo, "subobj", indent + 1);
|
||||
bpobj_close(&subbpo);
|
||||
}
|
||||
} else {
|
||||
(void) printf("\n %s: %llu blkptrs, %s\n",
|
||||
name, (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, bytes);
|
||||
(void) printf(" %*s: object %llu, %llu blkptrs, %s\n",
|
||||
indent * 8, name,
|
||||
(u_longlong_t)bpo->bpo_object,
|
||||
(u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs,
|
||||
bytes);
|
||||
}
|
||||
|
||||
if (dump_opt['d'] < 5)
|
||||
return;
|
||||
|
||||
(void) printf("\n");
|
||||
|
||||
(void) bpobj_iterate_nofree(bpo, dump_bpobj_cb, NULL, NULL);
|
||||
if (indent == 0) {
|
||||
(void) bpobj_iterate_nofree(bpo, dump_bpobj_cb, NULL, NULL);
|
||||
(void) printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
dump_deadlist(dsl_deadlist_t *dl)
|
||||
{
|
||||
dsl_deadlist_entry_t *dle;
|
||||
uint64_t unused;
|
||||
char bytes[32];
|
||||
char comp[32];
|
||||
char uncomp[32];
|
||||
@@ -1242,14 +1268,24 @@ dump_deadlist(dsl_deadlist_t *dl)
|
||||
|
||||
(void) printf("\n");
|
||||
|
||||
/* force the tree to be loaded */
|
||||
dsl_deadlist_space_range(dl, 0, UINT64_MAX, &unused, &unused, &unused);
|
||||
|
||||
for (dle = avl_first(&dl->dl_tree); dle;
|
||||
dle = AVL_NEXT(&dl->dl_tree, dle)) {
|
||||
(void) printf(" mintxg %llu -> obj %llu\n",
|
||||
(longlong_t)dle->dle_mintxg,
|
||||
(longlong_t)dle->dle_bpobj.bpo_object);
|
||||
if (dump_opt['d'] >= 5) {
|
||||
char buf[128];
|
||||
(void) snprintf(buf, sizeof (buf), "mintxg %llu -> ",
|
||||
(longlong_t)dle->dle_mintxg,
|
||||
(longlong_t)dle->dle_bpobj.bpo_object);
|
||||
|
||||
if (dump_opt['d'] >= 5)
|
||||
dump_bpobj(&dle->dle_bpobj, "");
|
||||
dump_bpobj(&dle->dle_bpobj, buf, 0);
|
||||
} else {
|
||||
(void) printf("mintxg %llu -> obj %llu\n",
|
||||
(longlong_t)dle->dle_mintxg,
|
||||
(longlong_t)dle->dle_bpobj.bpo_object);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1272,7 +1308,7 @@ fuid_table_destroy()
|
||||
* print uid or gid information.
|
||||
* For normal POSIX id just the id is printed in decimal format.
|
||||
* For CIFS files with FUID the fuid is printed in hex followed by
|
||||
* the doman-rid string.
|
||||
* the domain-rid string.
|
||||
*/
|
||||
static void
|
||||
print_idstr(uint64_t id, const char *id_type)
|
||||
@@ -2529,10 +2565,11 @@ dump_zpool(spa_t *spa)
|
||||
if (dump_opt['d'] || dump_opt['i']) {
|
||||
dump_dir(dp->dp_meta_objset);
|
||||
if (dump_opt['d'] >= 3) {
|
||||
dump_bpobj(&spa->spa_deferred_bpobj, "Deferred frees");
|
||||
dump_bpobj(&spa->spa_deferred_bpobj,
|
||||
"Deferred frees", 0);
|
||||
if (spa_version(spa) >= SPA_VERSION_DEADLISTS) {
|
||||
dump_bpobj(&spa->spa_dsl_pool->dp_free_bpobj,
|
||||
"Pool snapshot frees");
|
||||
"Pool snapshot frees", 0);
|
||||
}
|
||||
|
||||
if (spa_feature_is_active(spa,
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 15, 2012
|
||||
.Dd March 14, 2013
|
||||
.Dt ZPOOL 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -1608,14 +1608,15 @@ is specified, the command exits after
|
||||
.Ar count
|
||||
reports are printed.
|
||||
.Pp
|
||||
If a scrub or resilver is in progress, this command reports the percentage done
|
||||
and the estimated time to completion. Both of these are only approximate,
|
||||
If a scrub or resilver is in progress, this command reports the percentage
|
||||
done and the estimated time to completion. Both of these are only approximate,
|
||||
because the amount of data in the pool and the other workloads on the system
|
||||
can change.
|
||||
.Bl -tag -width indent
|
||||
.It Fl x
|
||||
Only display status for pools that are exhibiting errors or are otherwise
|
||||
unavailable.
|
||||
Warnings about pools not using the latest on-disk format will not be included.
|
||||
.It Fl v
|
||||
Displays verbose data error information, printing out a complete list of all
|
||||
data errors since the last complete pool scrub.
|
||||
|
||||
@@ -856,6 +856,16 @@ zpool_do_create(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
/* Compatiblity with FreeBSD 9.0 and 9.1: Use version 28 if unspecified */
|
||||
if (enable_all_pool_feat && !prop_list_contains_feature(props)) {
|
||||
if (add_prop_list(zpool_prop_to_name(
|
||||
ZPOOL_PROP_VERSION), "28", &props, B_TRUE))
|
||||
goto errout;
|
||||
enable_all_pool_feat = B_FALSE;
|
||||
}
|
||||
#endif /* __FreeBSD__ */
|
||||
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
@@ -4030,7 +4040,10 @@ status_callback(zpool_handle_t *zhp, void *data)
|
||||
* If we were given 'zpool status -x', only report those pools with
|
||||
* problems.
|
||||
*/
|
||||
if (reason == ZPOOL_STATUS_OK && cbp->cb_explain) {
|
||||
if (cbp->cb_explain &&
|
||||
(reason == ZPOOL_STATUS_OK ||
|
||||
reason == ZPOOL_STATUS_VERSION_OLDER ||
|
||||
reason == ZPOOL_STATUS_FEAT_DISABLED)) {
|
||||
if (!cbp->cb_allpools) {
|
||||
(void) printf(gettext("pool '%s' is healthy\n"),
|
||||
zpool_get_name(zhp));
|
||||
|
||||
+73
-73
@@ -1,4 +1,4 @@
|
||||
# $Id: CACerts,v 8.5 2011/05/06 23:05:10 ca Exp $
|
||||
# $Id: CACerts,v 8.6 2013/01/18 15:14:17 ca Exp $
|
||||
# This file contains some CA certificates that are used to sign the
|
||||
# certificates of mail servers of members of the sendmail consortium
|
||||
# who may reply to questions etc sent to sendmail.org.
|
||||
@@ -10,93 +10,93 @@ Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
c2:3c:61:67:3b:0a:cc:5e
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2009/emailAddress=ca+ca-rsa2009@esmtp.org
|
||||
f1:41:b3:3d:ba:bd:33:49
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2012/emailAddress=ca+ca-rsa2012@esmtp.org
|
||||
Validity
|
||||
Not Before: May 14 04:42:18 2009 GMT
|
||||
Not After : May 13 04:42:18 2012 GMT
|
||||
Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2009/emailAddress=ca+ca-rsa2009@esmtp.org
|
||||
Not Before: Mar 10 02:47:46 2012 GMT
|
||||
Not After : Mar 10 02:47:46 2015 GMT
|
||||
Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2012/emailAddress=ca+ca-rsa2012@esmtp.org
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:d5:f8:d3:48:38:75:df:2e:6b:8b:c4:8d:1d:41:
|
||||
5e:ad:4b:96:3d:48:c2:dc:e5:ff:61:98:95:32:03:
|
||||
e9:b6:71:5a:68:31:bc:e1:5c:aa:0e:70:a7:bc:51:
|
||||
b7:13:6a:78:54:ae:a6:d0:44:49:1b:5e:37:5b:59:
|
||||
20:01:47:a7:ec:41:4c:11:79:8c:25:c1:1b:c0:ed:
|
||||
85:b2:de:0f:10:9f:e7:b2:a3:c4:f1:fc:85:51:aa:
|
||||
d6:68:49:51:3e:04:e1:eb:e9:cd:87:1b:d0:9d:97:
|
||||
7b:4c:e1:1e:b1:6a:be:01:0a:a9:97:9a:50:89:e3:
|
||||
66:06:4c:07:cb:7e:99:70:13:e8:b4:9c:e7:e6:52:
|
||||
38:c0:64:90:42:d0:f5:cf:22:46:22:60:e9:34:70:
|
||||
1d:e3:d1:13:33:3a:31:ba:13:06:a8:c2:34:90:47:
|
||||
c5:a1:bd:2d:7d:98:21:70:de:22:d0:13:11:e5:08:
|
||||
dd:a0:77:0b:df:34:a7:07:55:de:5a:71:f6:6c:9e:
|
||||
ec:f7:45:75:1f:22:a9:84:06:c6:4f:84:3d:4e:05:
|
||||
d7:e4:e5:98:41:61:7b:8e:c9:3b:a6:ed:31:80:7d:
|
||||
fd:fa:f0:dc:b7:07:82:b8:ec:27:20:39:5f:78:95:
|
||||
f1:0d:93:8d:f9:4d:21:08:fd:72:89:01:ff:2c:a0:
|
||||
71:9d
|
||||
Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:a2:80:fc:c6:ce:7f:60:38:65:f4:38:f9:7a:d9:
|
||||
87:fd:47:eb:3f:2c:4a:c9:38:77:6a:77:94:92:7f:
|
||||
83:3d:99:57:2c:5f:37:bb:ba:12:10:17:56:fa:eb:
|
||||
43:a6:4b:4c:1e:30:32:07:94:2f:5a:d8:65:49:29:
|
||||
fa:24:d1:f0:0b:45:2d:e5:d5:cb:7d:60:dc:a6:ce:
|
||||
a4:47:35:30:ee:5e:8d:c2:30:e7:a7:63:32:b0:59:
|
||||
80:cc:8c:99:64:77:8f:50:8e:88:51:47:36:ea:9a:
|
||||
f3:b4:c0:8c:a6:ab:c6:42:57:88:b9:5f:9f:61:15:
|
||||
bb:79:65:93:ca:a9:fd:17:eb:87:26:8b:eb:b7:2b:
|
||||
7e:33:05:2b:ba:c0:46:f7:08:fd:da:c1:50:9b:3d:
|
||||
26:83:5c:53:97:89:2c:cc:5f:f2:7b:a8:b7:3d:fb:
|
||||
f2:b4:89:0d:43:ef:18:5c:21:75:71:cc:f0:c2:a3:
|
||||
84:69:c0:a7:f3:9b:de:c1:c7:5a:5c:7e:68:da:49:
|
||||
71:af:58:a8:51:9f:bd:f9:3d:bb:a5:92:fa:7b:1d:
|
||||
52:f5:fe:90:59:95:27:65:a4:af:97:9a:4f:01:39:
|
||||
59:7d:08:6f:a1:8f:42:47:49:bf:12:52:53:39:74:
|
||||
8d:62:3b:bd:4c:4f:05:0f:c4:b9:3e:da:a8:0e:96:
|
||||
05:2d
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
A7:61:FA:31:AF:A8:E2:5E:93:B6:84:9E:74:08:A2:76:50:87:69:7C
|
||||
08:38:E3:88:92:53:6E:F1:56:69:27:44:B5:4C:A0:18:CA:06:97:EB
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:A7:61:FA:31:AF:A8:E2:5E:93:B6:84:9E:74:08:A2:76:50:87:69:7C
|
||||
DirName:/C=US/ST=California/L=Berkeley/O=Endmail Org/OU=MTA/CN=Claus Assmann CA RSA 2009/emailAddress=ca+ca-rsa2009@esmtp.org
|
||||
serial:C2:3C:61:67:3B:0A:CC:5E
|
||||
keyid:08:38:E3:88:92:53:6E:F1:56:69:27:44:B5:4C:A0:18:CA:06:97:EB
|
||||
DirName:/C=US/ST=California/L=Berkeley/O=Endmail Org/OU=MTA/CN=Claus Assmann CA RSA 2012/emailAddress=ca+ca-rsa2012@esmtp.org
|
||||
serial:F1:41:B3:3D:BA:BD:33:49
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
email:ca+ca-rsa2009@esmtp.org
|
||||
email:ca+ca-rsa2012@esmtp.org
|
||||
X509v3 Issuer Alternative Name:
|
||||
email:ca+ca-rsa2009@esmtp.org
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
b3:38:e0:da:a8:07:d8:cc:b8:4d:8c:20:a6:06:2c:f8:27:db:
|
||||
8e:28:0f:39:bd:d9:24:c7:9f:e0:4d:d6:b6:63:42:36:0f:d8:
|
||||
70:41:e7:9e:a2:24:64:05:ea:85:97:ac:f2:cc:c2:a6:71:bb:
|
||||
30:21:c1:c7:c4:54:34:1d:30:09:f0:9b:74:27:93:59:12:4c:
|
||||
53:0b:8c:3e:d0:39:ed:4a:d0:d9:66:24:d8:e7:e5:9c:a8:6d:
|
||||
5f:56:5d:9a:91:fe:1b:7d:b9:7c:79:9e:1c:b9:71:74:14:f8:
|
||||
0c:30:50:f9:b1:22:56:a8:4d:6f:4b:9b:e5:8a:81:33:1b:77:
|
||||
75:f6:d8:ce:d4:90:34:86:34:d1:86:75:a9:e1:23:e6:af:c1:
|
||||
8e:28:97:47:20:4d:1b:57:09:39:f4:56:01:d2:87:43:3e:29:
|
||||
f6:c4:5b:7d:8f:9e:bd:ad:36:79:cf:09:70:43:30:21:98:23:
|
||||
31:c8:0d:39:ee:77:e1:4a:44:1a:5c:79:2f:6c:ec:8a:3c:db:
|
||||
99:a0:11:bc:1a:46:24:51:e7:75:d6:9a:db:ad:dd:55:d4:dd:
|
||||
ca:81:a0:10:77:96:91:9c:76:30:38:18:f0:82:43:b3:7c:41:
|
||||
64:4c:4e:da:66:22:67:cf:b7:d7:10:ba:ed:f4:6d:43:59:00:
|
||||
d0:82:1e:07
|
||||
email:ca+ca-rsa2012@esmtp.org
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
9a:8f:4d:23:5b:30:80:e1:94:e4:66:9c:3a:17:8b:79:49:5b:
|
||||
ec:5d:e5:a1:22:2d:71:37:a1:51:e7:1d:b1:0d:a9:9b:aa:a9:
|
||||
0d:c7:cd:d6:24:f9:e0:f0:57:be:4f:74:0c:4b:7a:42:4c:70:
|
||||
19:2e:8e:eb:cb:1b:00:26:27:eb:1c:42:33:d5:ec:32:b4:6c:
|
||||
7d:a3:04:a1:5c:00:49:c9:0d:4c:4d:28:37:06:22:77:ec:40:
|
||||
15:25:3a:23:84:ae:1f:da:90:dd:c9:dc:27:ee:7c:ec:e5:df:
|
||||
b8:ba:1e:3f:ee:c2:91:a2:3f:22:92:1e:f3:06:7e:aa:e9:c3:
|
||||
11:2d:3d:2f:85:f7:fc:d7:e2:f8:6d:70:a6:40:62:69:e7:52:
|
||||
ed:1b:19:38:72:86:08:a1:3d:47:c8:68:82:41:db:db:2a:52:
|
||||
25:d7:49:aa:9e:c5:83:22:7d:2f:0b:df:8c:90:2d:b5:aa:33:
|
||||
c7:9b:e8:39:8f:bb:79:5b:13:2d:4e:a9:69:59:c7:09:26:e2:
|
||||
b5:53:80:86:72:bb:7c:be:e9:46:5b:d8:b2:78:42:d6:5d:c3:
|
||||
bb:3a:3b:5f:0f:e8:c3:60:fb:88:9f:3a:2b:9f:d3:7d:9f:c7:
|
||||
32:aa:4d:34:a7:66:a1:25:16:95:a6:69:e7:86:a3:5c:b9:b9:
|
||||
df:58:05:e3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
gkOzfEFkTE7aZiJnz7fXELrt9G1DWQDQgh4H
|
||||
BgNVBAsTA01UQTEiMCAGA1UEAxMZQ2xhdXMgQXNzbWFubiBDQSBSU0EgMjAxMjEm
|
||||
MCQGCSqGSIb3DQEJARYXY2ErY2EtcnNhMjAxMkBlc210cC5vcmeCCQDxQbM9ur0z
|
||||
STAMBgNVHRMEBTADAQH/MCIGA1UdEQQbMBmBF2NhK2NhLXJzYTIwMTJAZXNtdHAu
|
||||
b3JnMCIGA1UdEgQbMBmBF2NhK2NhLXJzYTIwMTJAZXNtdHAub3JnMA0GCSqGSIb3
|
||||
DQEBBQUAA4IBAQCaj00jWzCA4ZTkZpw6F4t5SVvsXeWhIi1xN6FR5x2xDambqqkN
|
||||
x83WJPng8Fe+T3QMS3pCTHAZLo7ryxsAJifrHEIz1ewytGx9owShXABJyQ1MTSg3
|
||||
BiJ37EAVJTojhK4f2pDdydwn7nzs5d+4uh4/7sKRoj8ikh7zBn6q6cMRLT0vhff8
|
||||
1+L4bXCmQGJp51LtGxk4coYIoT1HyGiCQdvbKlIl10mqnsWDIn0vC9+MkC21qjPH
|
||||
m+g5j7t5WxMtTqlpWccJJuK1U4CGcrt8vulGW9iyeELWXcO7OjtfD+jDYPuInzor
|
||||
n9N9n8cyqk00p2ahJRaVpmnnhqNcubnfWAXj
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,6 +1,6 @@
|
||||
$FreeBSD$
|
||||
|
||||
sendmail 8.14.6
|
||||
sendmail 8.14.7
|
||||
originals can be found at: ftp://ftp.sendmail.org/pub/sendmail/
|
||||
|
||||
For the import of sendmail, the following directories were renamed:
|
||||
@@ -97,4 +97,4 @@ infrastructure in FreeBSD:
|
||||
usr.sbin/mailwrapper/Makefile
|
||||
|
||||
[email protected]
|
||||
29-December-2012
|
||||
21-April-2013
|
||||
+138
-1
@@ -141,6 +141,143 @@ gpExpdV7qPrw9k01j5rod5PjZlG8zV0=
|
||||
=SR28
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
pub 2048 5207CAD3 2013-01-02 ------- RSA Sign & Encrypt
|
||||
fingerprint: B87D 4569 86F1 9484 07E5 CCB4 3D68 B25D 5207 CAD3
|
||||
uid Sendmail Signing Key/2013 <[email protected]>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.13 (Darwin)
|
||||
|
||||
mQENBFDkiE4BCAC7jVxyAGrnqq7bW4lAe83CxIUT4YHb+Ai49cecSCeOGqPSdlcg
|
||||
NYdNzi7KKpF9r4ShSctw2mHqWkwE7AimgJL3w5Iw026YtFrGfB5KHnBIC3dWKiJu
|
||||
ZM20qKx0Y5KqLjZStlajHL/gfhzhHEZXMcgFbYMGQ57Yuug8eEdmBb9ihgQgosdT
|
||||
RmdNH5zqch4G3Yf246JqeyESBCi8NHbOHzdfEWze3H2mGRmGeKfcnKRPlZV9OEdG
|
||||
E6ZEN6FBMghthZRa0f0AWw34YGxtvIAXOm/as64qpzJ2ebbH4HWvNRAaWetARG/I
|
||||
4OwCkvcpqFROXXFOALlFJiAiXkK1RRPcPWyJABEBAAG0MVNlbmRtYWlsIFNpZ25p
|
||||
bmcgS2V5LzIwMTMgPHNlbmRtYWlsQFNlbmRtYWlsLk9SRz6JATkEEwECACMFAlDk
|
||||
iE4CGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRA9aLJdUgfK02WeB/9r
|
||||
tNy5h/ouE9ixuzIDd7q5/n5ApIu0dnjLrieoOIgKPKLUwQMO18cjueKtRcAk1NP/
|
||||
BTYodw1rPOuZrtlgIltoAz4EN14SDGqiVVhgNkJVazOQ/4V0/zVAg+AZAngC3IFY
|
||||
MXI99/HOnhTTZ+lHwDbvZdNu/yY0LDOl0VO41atRD9A/ujbRbjQL+QCkabi+M0Vr
|
||||
Boz/4JKxbidsG41JFGQMTJxXuglZOWagB/T30/pYR5kxlTT5w7Y++JTGpOsvfAoP
|
||||
B5wp1rTtsA5d7+oxmmwHBBIlDFidWTt2y8Hk1E+Fx+zHLvqdG6qZuxgtdA1g+DSx
|
||||
MBbgmUztfAJsRKAJw91RiQEcBBABAgAGBQJQ5Ij4AAoJEI5a6fvO7vQ7IVwH/2U+
|
||||
K1L0/wP+Qgbb6Ge+Q6Px0x5YltJE56AoDgjAQof0jVgXXXJXb7uy+KIZnvBRdDeU
|
||||
4z25qLFCAAoI1Coeu+DStv3q1MauQ6i05EG4qnK0h/VHRKsaGpgBpU6Q0HUzCeUj
|
||||
+jedYsBxUjKlIQgbNbKh8rc/q38q8zGP5gswH+gbiO4gfLE5vUD+c/j3Bk7vTwjH
|
||||
wcS82QznXDxFu92M9pe9cjz4OlMhT3KqA9ek/3X0FgkxX8LdIajWXUXrVbxeYEbv
|
||||
0mrctI0SDMpy7TU8m1fc+87tbUsAC6lZx39dB+6CgYWcegLZGkwBYNhI5FtGSfml
|
||||
Z7QloikEjxhADUqtHL+JARwEEAECAAYFAlDkiRMACgkQOaTHfal4hLBIyQf+JsMO
|
||||
NKuvzLXB9jVrvVZE9Eyngomj4j4wVEK2ugFcf4lryi800rUaqO8R7mgR4iIqK9NU
|
||||
EEwazvyBU+57Qcn5CfxrRTrVWz3GUET3qjsUPOihmSnIg7V9nremQzQG7wWcraJe
|
||||
Abm1mG0cwXA1Gasak5Z4wD4Q5FmoKTWBYvP8l8lnHmnG12cbDiKCwn1qW6parkW/
|
||||
HlAaItO5N7Or58gpKSDrbaLBV0l2jxlOk9eeWkeYdnrF5PAmOf2/32AGRrGC+YI9
|
||||
vgqK34Hslxf00v5yjw7wYiYNu4Yq9eCKCXw7cIWzHRAoE951tpQ0AciNS15TWNc4
|
||||
MMiK4mUMY/9+YKwllokBHAQQAQIABgUCUOSJGAAKCRBgTfvyhUEKvuC0B/4iqq2K
|
||||
hZiA5RWoxfXrwJwfaOtAHNgUpuDC51JX48vZB0Ie5lgARjqyCLbVPTIj/A+oRpll
|
||||
z0FHQuCpYDTzSJs2X3Ol04COrsuWNRanNm2/Jh10m9vubyX1Ge0pGvhm3yFClFKS
|
||||
O/LoioYWZ370PdQrVkccp5cfEHjiiCqVh3PLzbhPDj9Js9HKRNi0aQ34uJlZc+VK
|
||||
1lAihymzO23fklJg3heL5HXH+btuJxkyi8aQ1p4meHVFYFqcjO/S7PyNJeMd0gwu
|
||||
6ykWuL0N7Hq2WDfSYorDKf6fZMm/jQwkAJo26/Nmq0SSkMkviy0aowgjsR0zTudO
|
||||
Tnpun4pNcYKSkbK9iJwEEAECAAYFAlDkiRsACgkQEolum6d/JCmgvQP7BjbE1xC9
|
||||
EFequc5ixwcrKbyvel8JZR4QaMfjZ/YltFJEAtNpiUmyI1s5CVqPnPoMqGJSxbkH
|
||||
eTiIinsj/lxgImE8sDAdzxfIQc9sUFwm/SZmYnLPBxd0FtziaNPxVY1zHbpBiC4R
|
||||
vYTBGrYwKDxkMIkI26mQ3C+6jpQHZjCq+ZiInAQQAQIABgUCUOSJHwAKCRDYqvDK
|
||||
9rMHKT9CBACU3RGc9MLTbgXuA4F/jjbQ98I4Ei61y5i0jAt4Wk9qi3WLCpIEorVA
|
||||
9LzyqClIioS4HoLLIH944Dr6Q7nC+SwifBGgxWVogEPl8vcMUfmUIkUa/KD9N9Wn
|
||||
t8nSyaYNYYDefjzBy4veyrZF/zTl9RUjD3Y5h6VRSpVqox3pb3g0QoicBBABAgAG
|
||||
BQJQ5IkjAAoJEJdDARhwk7hB9oUD/19C8pRVgzlM4aCjbh1DhmF23C6eegE7Z82f
|
||||
9ZByKKKZscahOXp0vdWHuKvQ/j09rfROcb08k+6EofVg/lyT5yj3+SFy7Md+6RKB
|
||||
oJVfX4Q3d1kWjawwYoTinMAbiANgEbiERZt9OUvxFq1zB3XjfD/DtsTDXO0Jb9nL
|
||||
an8Eu9KPiJwEEAECAAYFAlDkiSYACgkQHnuzyK+VliVdngP+IhF8I7YICl7LYK8t
|
||||
eYHHSQuR0HGRJAY2Sm6AgDvS8d2d6BWHovzhcXWmZt5t4qtO9JoO3arEJPFLi+sM
|
||||
4zltrZ0G2w2iLuK8puGh4PM2V2PjRVWlhmwVdY4yERdqCwD9+TpgPudxDaOpCpD5
|
||||
pry2zkHzgtRVnKaB5wUxQSX/9+2InAQQAQIABgUCUOSJKQAKCRBwoCRNHvmSUT5j
|
||||
A/0RNa+Q73G4STet1vUxJWyufNOOag82ziISGFX5qZ5HnvVheJuUYlplfx3pLGZs
|
||||
VyxNPJ86vgdobNXG2dJYn/y/3C/9jIp0NiKJYEMVNlOrDvqoh3/7LdDCQC4dPKj/
|
||||
T4nSKgK/ny3Bvz8RHf874fnZZt6xjo+DFTzvktChYBSBh4icBBABAgAGBQJQ5Iks
|
||||
AAoJEMjV7SmV9hdxzAYEAJ6iOI1YzJlNzZptUsCcBR+40sAL43UaaDXCjhEtRgpy
|
||||
+EQSpGVEzCvN5sxF4z8QXo82x9zQJWZmYV974KXqIq8jFEuSLZAuVuPs2RlfRyAl
|
||||
P5lATnXdGzrTXgoNLoXEt/vQqYuqFwqXkVvZcLkGHPwTOysyFH/vy8xLXmRI58RZ
|
||||
iJwEEAECAAYFAlDkiaAACgkQIYPhsTlvB4lMRgP/b5lffwl6KwYI2d/ZoQVaMN+r
|
||||
aun6ziVCLqMQRiUR03H06fFo31RmGdPRuQ97jxS8EZPNabygjAfKq3F74DPoSlvL
|
||||
/8AXhj3UXoERf2XIj03o8we5SG0Tg6zLSNB65NoGR1whRgxwAxCgIRaRfudREYQR
|
||||
6Vd7WpTHeRWttXLyiIiImwQQAQIABgUCUOSJvAAKCRCJaWK4Z4wKA+BYA/jBXOD2
|
||||
4pBFFELiCyFW+iTlzsJt5vwyTLolm8Ez77DkepkYOr6ZGiDb1cp3AL1e2ynwbSxq
|
||||
NeAvwVfIm5TOO8w+xEYplciupd12QfXVa9MiQwDJm4FOP+Nb6X9MSqlHL8E8XoJv
|
||||
NPjJoY3zFEYn2OGZrD8UpVdU5Y+pKZtCYxc0iJwEEAECAAYFAlDkicMACgkQOCLb
|
||||
R8w3Ty3mvQP/e97V+BsqxV9HeqJHnmi4NJYaKpP2HBuXntLSDxyqO8YGa3qKkYjj
|
||||
/LAXp2QfBpwCWn8D0pQSoUF5jayoeNviKs1cfcuq4dyfdoiVBcWOgJQeUHSO8w/r
|
||||
hevqzclCuWz1TqW7HKlljUbpvP9LDR9De9T6izc3eR9WuLcqBwV73ZyInAQQAQIA
|
||||
BgUCUOSJxwAKCRCcHL3i41xWNXa+A/9GD14quBksQf6iWg2CbHufCyUqquvN4IbI
|
||||
YlskEHvjTtaZ20SC0cGMMPe/X2VbfWOR4UjEdlSGQdLWZ8FjKj0hjSSUf28OcbSd
|
||||
xXryuFFt0skY2dBW1LHgVDUnHTlK1m9p9k887tL31YUGmA7apZVSILhSnd1jI+G7
|
||||
NN3ni31Wo4icBBABAgAGBQJQ5InKAAoJEG9Sk9ijm6ZVMLQD/3BWsllRiwFCsiiL
|
||||
KBJqnjRCdFTuHOl75g86IniLMXu11r+K4LR9mXbi2bduAzkwP7c9HSAFWli3bhfV
|
||||
fgf68sogGcHAtQgjgjTg3NvjOPkeMT24PVJzgIUkbgFBmOoe30L7/YyKl7B53FrX
|
||||
dIcuI0d47bXoUOvjzNueBKzLkA3WiJwEEAECAAYFAlDkic0ACgkQ71iWZNQy4Z18
|
||||
0AP/cNp30lU/1dMF4bXbmbYG/dwxzFa8K1RsxJJD/HGFTsPs30o5tp7IpHAA3wiP
|
||||
QI13HhDA9hfRsuWHyNztL6uHDD4HRiab1j1hNgorzXMYp+EmFSX+LYfd/GPBHX6B
|
||||
xzGy6HuhurF1cPcvEbdlmcdr50YLaO4WJbHfU+p/9eEMZKOInAQQAQIABgUCUOSJ
|
||||
0AAKCRDBnB0lEtNGHeMQBACWhsL8KCmh+2XwIweQOboaGA6ShwDHx8CfPxcqv9ZJ
|
||||
4jsRoHSjiSRK+Gbqh0/5aOppeO6Pg8CppuDJ7jN/l212ZfhR0JUWfC3ySb71BIr/
|
||||
NpKw3PqbdPK6ugcfVHd2JkHSqZvDXUgMHftzVZEeD+OSfCMo/ED0QcC+3M3eO4fX
|
||||
a4icBBABAgAGBQJQ5InUAAoJEMApykAW9MzpXkwD/AgrFlIVjYGNSelqRgl+eaxK
|
||||
ujeRUwcZOjKvleOa4U5QekaI1pTsbk7whbzABa4i+TS3AWwlhVOuKanJJqWmVLrW
|
||||
dJY6PgVGhUGdSk+FwXji8MA2aqdfcTCT3L2V6QyqXMEP8K3KAOKdBDIFAd31pap4
|
||||
ICuaj09nuybr2UNyOh9KiEYEEBECAAYFAlDki9QACgkQGPUDgCTCeAJMiACfbkQT
|
||||
VU4gsRwDHBMRB1de9s7cS94An2ObpRui9RhHBRE+FONdzwV7LT+oiJwEEAECAAYF
|
||||
AlDki+MACgkQfEtnbaAOFWM1RQQAwzWY32cZMx6MYBB40elalCqcwS0sGPG+BLOd
|
||||
+7qmRPFUk7r/IC56mPgvRMAB3Hk4EF2m8YDfYIT/3u0r9M85tvKfzaB9svbn9xIg
|
||||
s43a5m6EZRs8O/oeEpGJA5B+ypSMMXj67HrS6UzShGiNVJHD1FQABEYLEIPXOpML
|
||||
99ko0KKInAQQAQIABgUCUOSL6QAKCRDW4KH+T74q3eJ/A/kBmDLoDkOJqZaIUCgm
|
||||
DEebLXmh72vglflntChfOZFoJgIRJt+1gH8GTfWL4fecpxv7l3VD32eo14mUIvIl
|
||||
9EIGinr0iE5jz2sJNLEk+9TQL4oWA2khr1AOsw0+Pq6ju8BYKG9ImM/pUpCX0g+s
|
||||
YUwkB0pwWpldcrEiWgVg8NfuQ4hGBBARAgAGBQJQ5IvuAAoJECH5xbz3apv1JV0A
|
||||
nR1zsfcDOhe0eA6LzDCUvkj+GTZmAJ9OdU37HRmxpokcL1YT2vU8fYItmYicBBAB
|
||||
AgAGBQJQ5Zm8AAoJEM8etQMiMnoB1VUD/2Ee+hUtbUiVsrCTtgyxMh3GYHxSRlsR
|
||||
DmZ3Ic49V3fPmadCRDpw1I6iKLgeg3qCB/Fg+1pvZ4E09a2knr02wVybe1hvRVsN
|
||||
6QZnDa5Sp7SYoMj+PGAj1Jv2JcTggBxBpFeHFOElZi0Sc0J8TjzsLWph/SYbiwSr
|
||||
GGz3QCya5dP/iEYEEBECAAYFAlDl9uwACgkQCaeiStHlggfR0wCeORnxx6UraAW0
|
||||
VEphoedU+22CyVcAn1QWbw6Bgktk3+UIN4vzW6YQbGpHiJwEEAECAAYFAlDl+9EA
|
||||
CgkQXx7Ib4gMnlUD3QP/fan4d5+L3LVrOkAtmQovwZqpB6+fOy671RO3SaE1+lr4
|
||||
/twHmKGC1h8jVZzkqRVRQ3tBPvG9lPlweUN9wA2+jpoe8LaqJ2hClDw1gP3EPz0U
|
||||
lIfJAoeZQOpbTY4DWUFy/vxnHcpQh5H+aJDlhKzSB4E/C/le9ViOzzqPRh4K29yI
|
||||
RgQQEQIABgUCUOcGZAAKCRDEsQeYhXlqI/CyAJ9WHdCZwVdeFcgjVqv42sy+7d14
|
||||
XgCfd2c4qU9ZacQmoZDSU7P5kIrf8xuJASIEEwECAAwFAlDnimMFgweGH4AACgkQ
|
||||
dZbk85mBCRgEyAf+LgY3QOdXa/9YDdbZXvBQ4myyJH6LD8OnFglI/u1gz/yP5ngm
|
||||
SeWsODQAm4UzYQxc4fDHDnmVjpTyqyoY70gO9zsMg3eociDtaEi4/J7ZQRlvI5cu
|
||||
PFreqLe9CivEzSFsuBYsNRmkxsQHAUg59wqhaefjul94RtWLhUXu20Er3CfE4B7I
|
||||
AXK4ncWgySyCtWxtK2SygOaxKY/enGqtVC2a/ZecB7o1KJ3ghx1w9CzXxRyEtmtT
|
||||
qaQpoGs40sshQgY9EDUApFU/cXIZmMlmcFEtL8e9R9pptY7FdoeuINwB8nS7epxy
|
||||
kavIjSW30ALAshGpXrTHWxnOipzey8pbtOrL4okCHAQQAQIABgUCUOlleQAKCRBQ
|
||||
g+yIQOhvcYDlD/4v2PjuxnM53WVDOABTkxax2dPQ94ErEf01cAr4SZ4UE0j8pH03
|
||||
WKKCDGnE+xkX0N9NworDEpkyGAjbTxbpidOWC4r1P526Nhhr+B/4yiybyXg5oR5F
|
||||
rAQaxdj5dvk3HUSfUoqAaag9P6w/wBEIQcRvZ5L+2eTBYwrsHaRfDoP6ce6fmJic
|
||||
veYhYDQ3qxx6l3qeRwchTKLEdy0jLdbZl1AFNLRQGU4XOFM3UxKTk4XofEdEK8B0
|
||||
L83NjsE1S9IJleQiNM41fNte0SXTJ8J//SGRnKAyMtlclanX2KazTPKGu69pZQRY
|
||||
om9xH7vJZIRv0pCjQbEc9Caw/mvSNlQWJ5589cLVfaWrQpSmzf6oAoVyzhC4tiWw
|
||||
s2FmfzUYvvSKX1dpVMWIkYyCLyS7E+px6zFy1e77Pc+uhmAsNDgfTTfwJbBoLAFQ
|
||||
42f/5mqKhQktiplM6ZzMNB49zwjsFK9Vt1OA9ggHtvo/LzAIoMnQUvijObnE3/+a
|
||||
PUNKAaqggVJUQgK2htPjyAkUIq1HQ35WzvpaTUn7ADBezTo6Zhl9UbKW9+IuCmwN
|
||||
w4ZFhhKC5VsWSVZGFVMwRNilSXpyPVYAWkkrEiNreLW7R/OwXUqA3fvK4lFRWpVV
|
||||
AEcmL5Cygmrv+0SMUgJrymf/HSl6/JVNP0GMZ5l8WvKZ4usxsc0Yt+gjTrkBDQRQ
|
||||
5IhOAQgAxmVBSjFMrpl+oMm7SG97BeBG/ApRkWyzHoYLXSWoq/lpYWZUyfRxPyvV
|
||||
kMEnVSerTMfiq80yX/8niFm7SezXBzCFwxjt5d6v1BIs0p1qnEmN6ze9i1wz26fT
|
||||
Eix+qtFewBbE31+bxCOxFQoIaCGWrR7gq7clNfkLKRjBbJcb/vkPc0S6l5+xaM/j
|
||||
Zt19a4uBDzy6DfFOjJ/ZWzKCioqPeswJrElszGqB3Wvwip1iOA4Ec379s8mSCzqq
|
||||
PoQ98jIhqW/vD6eHDdzkEdQJZKwzSVgClHcLehQMCtsGChf+cxCgFQSf+7ZOyu+Y
|
||||
YbIK06IC/lJG7LGBWOd28+LqKAXamQARAQABiQEfBBgBAgAJBQJQ5IhOAhsMAAoJ
|
||||
ED1osl1SB8rT698H/Ap1PMyHWdDZxIP7PkJKAGuXjSE3JAw+dNh3vaxF24NFBUvj
|
||||
J6F5UwZiegCAIatKVF15SycuIDT6TG1NBQPD8Udp5w0lK+sZH0ViZGs5hNggBdiR
|
||||
uv6yMpaPf6IbO6Of0OInrcni9UQVt1G6o7MseZBnxejuPX0E6CMbB578XfSrdliI
|
||||
jwcHNo5TEc0IjPw4qpUYRd/cWlo8Cprqu7I6LTDUdXOl01peaGqkGhyUgoY83JyS
|
||||
xIhNOUZG9qZ7p7MTpngmXX8brCg4ivylPLveAsbhgLLlRQO1ME/j4zyBvM5vWEPB
|
||||
x4XQOkQ96TXgQoe/dvARKuUcAQl7RvZOIZcBTPs=
|
||||
=kpXE
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
pub 2048 CEEEF43B 2011-12-14 ------- RSA Sign & Encrypt
|
||||
fingerprint: CA7A 8F39 A241 9FFF B0A9 AB27 8E5A E9FB CEEE F43B
|
||||
@@ -2298,4 +2435,4 @@ DnF3FZZEzV7oqPwC2jzv/1dD6GFhtgy0cnyoPGUJCyc=
|
||||
=nES8
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
$Revision: 8.40 $, Last updated $Date: 2012/01/09 04:44:59 $
|
||||
$Revision: 8.43 $, Last updated $Date: 2013/01/18 17:40:21 $
|
||||
@@ -1,11 +1,40 @@
|
||||
SENDMAIL RELEASE NOTES
|
||||
$Id: RELEASE_NOTES,v 8.2011 2012/12/21 18:42:16 ca Exp $
|
||||
$Id: RELEASE_NOTES,v 8.2024 2013/04/19 15:01:58 ca Exp $
|
||||
|
||||
|
||||
This listing shows the version of the sendmail binary, the version
|
||||
of the sendmail configuration files, the date of release, and a
|
||||
summary of the changes in that release.
|
||||
|
||||
8.14.7/8.14.7 2013/04/21
|
||||
Drop support for IPv4-mapped IPv6 addresses to prevent the MTA
|
||||
from using a mapped address over a legitimate IPv6 address
|
||||
and to enforce the proper semantics over the IPv6
|
||||
connection. Problem noted by Ulrich Sporlein.
|
||||
Fix a regression introduced in 8.14.6: the wrong list of
|
||||
macros was sent to a milter in the EHLO stage.
|
||||
Problem found by Fabrice Bellet, reported via RedHat
|
||||
(Jaroslav Skarvada).
|
||||
Fix handling of ORCPT parameter for DSNs: xtext decoding
|
||||
was not performed and a wrong syntax check was applied
|
||||
to the "addr-type" field. Problem noted by Dan Lukes
|
||||
of Obludarium.
|
||||
Fix handling of NUL characters in the MIME conversion functions
|
||||
so that message bodies containing them will be sent
|
||||
on properly. Note: this usually also affects mails
|
||||
that are not converted as those functions are used
|
||||
for other purposes too. Problem noted by Elchonon
|
||||
Edelson of Lockheed Martin.
|
||||
Do not perform "duplicate" elimination of recipients if they
|
||||
resolve to the error mailer using a temporary failure
|
||||
(4xy) via ruleset 0. Problem noted by Akira Takahashi
|
||||
of IIJ.
|
||||
CONTRIB: Updated version of etrn.pl script from John Beck
|
||||
of Oracle.
|
||||
Portability:
|
||||
Unlike gcc, clang doesn't apply full prototypes to K&R
|
||||
definitions.
|
||||
|
||||
8.14.6/8.14.6 2012/12/23
|
||||
Fix a regression introduced in 8.14.5: if a server offers
|
||||
two AUTH lines, the MTA would not read them after
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
|
||||
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@@ -114,7 +114,7 @@ D{MTAHost}[127.0.0.1]
|
||||
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6/Submit
|
||||
DZ8.14.7/Submit
|
||||
|
||||
|
||||
###############
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
divert(-1)
|
||||
#
|
||||
# Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
# Copyright (c) 1998-2013 Sendmail, Inc. and its suppliers.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
|
||||
# Copyright (c) 1988, 1993
|
||||
@@ -11,8 +11,8 @@ divert(-1)
|
||||
# the sendmail distribution.
|
||||
#
|
||||
#
|
||||
VERSIONID(`$Id: version.m4,v 8.222 2012/12/19 05:11:43 ca Exp $')
|
||||
VERSIONID(`$Id: version.m4,v 8.230 2013/04/18 15:07:16 ca Exp $')
|
||||
#
|
||||
divert(0)
|
||||
# Configuration version number
|
||||
DZ8.14.6`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||
DZ8.14.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||
@@ -1,22 +1,40 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
#!/usr/perl5/bin/perl -w
|
||||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
#
|
||||
# Copyright (c) 1996-2000 by John T. Beck <[email protected]>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2000 by Sun Microsystems, Inc.
|
||||
# All rights reserved.
|
||||
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
# Use is subject to license terms.
|
||||
#
|
||||
#ident "@(#)etrn.pl 1.1 00/09/06 SMI"
|
||||
|
||||
require 5.005; # minimal Perl version required
|
||||
require 5.8.4; # minimal Perl version required
|
||||
use strict;
|
||||
use warnings;
|
||||
use English;
|
||||
|
||||
# hardcoded constants, should work fine for BSD-based systems
|
||||
use Socket;
|
||||
use Getopt::Std;
|
||||
use vars qw($opt_v);
|
||||
my $sockaddr = 'S n a4 x8';
|
||||
our ($opt_v, $opt_b);
|
||||
|
||||
# system requirements:
|
||||
# must have 'hostname' program.
|
||||
@@ -26,11 +44,12 @@ select(STDERR);
|
||||
|
||||
chop(my $name = `hostname || uname -n`);
|
||||
|
||||
(my $hostname, my $aliases, my $type, my $len, undef) = gethostbyname($name);
|
||||
my ($hostname) = (gethostbyname($name))[0];
|
||||
|
||||
my $usage = "Usage: $PROGRAM_NAME [-v] host [args]";
|
||||
getopts('v');
|
||||
my $usage = "Usage: $PROGRAM_NAME [-bv] host [args]";
|
||||
getopts('bv');
|
||||
my $verbose = $opt_v;
|
||||
my $boot_check = $opt_b;
|
||||
my $server = shift(@ARGV);
|
||||
my @hosts = @ARGV;
|
||||
die $usage unless $server;
|
||||
@@ -86,24 +105,60 @@ if (!@hosts) {
|
||||
die "open $cwfile: $ERRNO";
|
||||
}
|
||||
}
|
||||
# Do this automatically if no client hosts are specified.
|
||||
$boot_check = "yes";
|
||||
}
|
||||
|
||||
($name, $aliases, my $proto) = getprotobyname('tcp');
|
||||
($name, $aliases, $port) = getservbyname($port, 'tcp')
|
||||
my ($proto) = (getprotobyname('tcp'))[2];
|
||||
($port) = (getservbyname($port, 'tcp'))[2]
|
||||
unless $port =~ /^\d+/;
|
||||
|
||||
if ($boot_check) {
|
||||
# first connect to localhost to verify that we can accept connections
|
||||
print "verifying that localhost is accepting SMTP connections\n"
|
||||
if ($verbose);
|
||||
my $localhost_ok = 0;
|
||||
($name, my $laddr) = (gethostbyname('localhost'))[0, 4];
|
||||
(!defined($name)) && die "gethostbyname failed, unknown host localhost";
|
||||
|
||||
# get a connection
|
||||
my $sinl = sockaddr_in($port, $laddr);
|
||||
my $save_errno = 0;
|
||||
for (my $num_tries = 1; $num_tries < 5; $num_tries++) {
|
||||
socket(S, &PF_INET, &SOCK_STREAM, $proto)
|
||||
|| die "socket: $ERRNO";
|
||||
if (connect(S, $sinl)) {
|
||||
&alarm("sending 'quit' to $server");
|
||||
print S "quit\n";
|
||||
alarm(0);
|
||||
$localhost_ok = 1;
|
||||
close(S);
|
||||
alarm(0);
|
||||
last;
|
||||
}
|
||||
print STDERR "localhost connect failed ($num_tries)\n";
|
||||
$save_errno = $ERRNO;
|
||||
sleep(1 << $num_tries);
|
||||
close(S);
|
||||
alarm(0);
|
||||
}
|
||||
if (! $localhost_ok) {
|
||||
die "could not connect to localhost: $save_errno\n";
|
||||
}
|
||||
}
|
||||
|
||||
# look it up
|
||||
|
||||
($name, $aliases, $type, $len, my $thataddr) = gethostbyname($server);
|
||||
($name, my $thataddr) = (gethostbyname($server))[0, 4];
|
||||
(!defined($name)) && die "gethostbyname failed, unknown host $server";
|
||||
|
||||
|
||||
# get a connection
|
||||
my $that = pack($sockaddr, &AF_INET, $port, $thataddr);
|
||||
socket(S, &AF_INET, &SOCK_STREAM, $proto)
|
||||
my $sinr = sockaddr_in($port, $thataddr);
|
||||
socket(S, &PF_INET, &SOCK_STREAM, $proto)
|
||||
|| die "socket: $ERRNO";
|
||||
print "server = $server\n" if (defined($verbose));
|
||||
&alarm("connect to $server");
|
||||
if (! connect(S, $that)) {
|
||||
if (! connect(S, $sinr)) {
|
||||
die "cannot connect to $server: $ERRNO\n";
|
||||
}
|
||||
alarm(0);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
.\" the sendmail distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" $Id: op.me,v 8.749 2012/03/02 22:37:11 ca Exp $
|
||||
.\" $Id: op.me,v 8.751 2013/04/08 21:41:25 ca Exp $
|
||||
.\"
|
||||
.\" eqn op.me | pic | troff -me
|
||||
.\"
|
||||
@@ -90,7 +90,7 @@ Sendmail, Inc.
|
||||
.de Ve
|
||||
Version \\$2
|
||||
..
|
||||
.Ve $Revision: 8.749 $
|
||||
.Ve $Revision: 8.751 $
|
||||
.rm Ve
|
||||
.sp
|
||||
For Sendmail Version 8.14
|
||||
@@ -5547,9 +5547,6 @@ It can have primary types
|
||||
or full types
|
||||
(such as
|
||||
.q text/plain ).
|
||||
The class is initialized to have
|
||||
.q text/plain
|
||||
only.
|
||||
.ip $=s
|
||||
contains the set of subtypes of message that can be treated recursively.
|
||||
By default it contains only
|
||||
@@ -6609,8 +6606,13 @@ Modifier Options (flags) for the client
|
||||
.)b
|
||||
The
|
||||
.i Addr ess
|
||||
mask may be a numeric address in dot notation
|
||||
mask may be a numeric address in IPv4 dot notation or IPv6 colon notation
|
||||
or a network name.
|
||||
Note that if a network name is specified,
|
||||
only the first IP address returned for it will be used.
|
||||
This may cause indeterminate behavior for network names
|
||||
that resolve to multiple addresses.
|
||||
Therefore, use of an address is recommended.
|
||||
.i Modifier
|
||||
can be the following character:
|
||||
.(b
|
||||
@@ -6778,8 +6780,13 @@ The
|
||||
key is used for error messages and logging.
|
||||
The
|
||||
.i Addr ess
|
||||
mask may be a numeric address in dot notation
|
||||
mask may be a numeric address in IPv4 dot notation or IPv6 colon notation
|
||||
or a network name.
|
||||
Note that if a network name is specified,
|
||||
only the first IP address returned for it will be used.
|
||||
This may cause indeterminate behavior for network names
|
||||
that resolve to multiple addresses.
|
||||
Therefore, use of an address is recommended.
|
||||
The
|
||||
.i Family
|
||||
key defaults to INET (IPv4).
|
||||
@@ -11471,7 +11478,7 @@ replace it with a blank sheet for double-sided output.
|
||||
.\".sz 10
|
||||
.\"Eric Allman
|
||||
.\".sp
|
||||
.\"Version $Revision: 8.749 $
|
||||
.\"Version $Revision: 8.751 $
|
||||
.\".ce 0
|
||||
.bp 3
|
||||
.ce
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* forth in the LICENSE file which can be found at the top level of
|
||||
* the sendmail distribution.
|
||||
*
|
||||
* $Id: config.h,v 1.47 2004/10/26 21:41:07 gshapiro Exp $
|
||||
* $Id: config.h,v 1.48 2013/03/22 22:48:57 gshapiro Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -24,14 +24,16 @@
|
||||
|
||||
/*
|
||||
** SM_CONF_STDBOOL_H is 1 if <stdbool.h> exists
|
||||
**
|
||||
** Note, unlike gcc, clang doesn't apply full prototypes to K&R definitions.
|
||||
*/
|
||||
|
||||
# ifndef SM_CONF_STDBOOL_H
|
||||
# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
# if !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
# define SM_CONF_STDBOOL_H 1
|
||||
# else /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# else /* !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# define SM_CONF_STDBOOL_H 0
|
||||
# endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# endif /* !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# endif /* ! SM_CONF_STDBOOL_H */
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2002, 2004 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 2000-2002, 2004, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1990
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
@@ -11,7 +11,7 @@
|
||||
* forth in the LICENSE file which can be found at the top level of
|
||||
* the sendmail distribution.
|
||||
*
|
||||
* $Id: io.h,v 1.24 2004/03/03 19:14:49 ca Exp $
|
||||
* $Id: io.h,v 1.25 2013/03/12 15:24:49 ca Exp $
|
||||
*/
|
||||
|
||||
/*-
|
||||
@@ -269,7 +269,7 @@ int sm_io_close __P((SM_FILE_T *, int SM_NONVOLATILE));
|
||||
SM_FILE_T *sm_io_dup __P((SM_FILE_T *));
|
||||
int sm_io_eof __P((SM_FILE_T *));
|
||||
int sm_io_error __P((SM_FILE_T *));
|
||||
char *sm_io_fgets __P((SM_FILE_T *, int, char *, int));
|
||||
int sm_io_fgets __P((SM_FILE_T *, int, char *, int));
|
||||
int sm_io_flush __P((SM_FILE_T *, int SM_NONVOLATILE));
|
||||
|
||||
int PRINTFLIKE(3, 4)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 8.88 2012/09/25 17:40:32 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 8.92 2013/04/16 20:19:54 ca Exp $
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
dnl only required for compilation of EXTRAS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999-2001, 2004, 2010 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1999-2001, 2004, 2010, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
*
|
||||
* By using this file, you agree to the terms and conditions set
|
||||
@@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_RCSID("@(#)$Id: sm_gethost.c,v 8.29 2010/07/27 01:09:31 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: sm_gethost.c,v 8.30 2013/02/22 22:43:33 gshapiro Exp $")
|
||||
|
||||
#include <sendmail.h>
|
||||
#if NETINET || NETINET6
|
||||
@@ -101,7 +101,12 @@ mi_gethostbyname(name, family)
|
||||
# endif /* SOLARIS == 20300 || SOLARIS == 203 */
|
||||
#else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
|
||||
# if NETINET6
|
||||
int flags = AI_DEFAULT|AI_ALL;
|
||||
# ifndef SM_IPNODEBYNAME_FLAGS
|
||||
/* For IPv4-mapped addresses, use: AI_DEFAULT|AI_ALL */
|
||||
# define SM_IPNODEBYNAME_FLAGS AI_ADDRCONFIG
|
||||
# endif /* SM_IPNODEBYNAME_FLAGS */
|
||||
|
||||
int flags = SM_IPNODEBYNAME_FLAGS;
|
||||
int err;
|
||||
# endif /* NETINET6 */
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 1.72 2006/08/16 21:06:31 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 1.73 2013/03/12 15:24:50 ca Exp $
|
||||
define(`confREQUIRE_LIBUNIX')
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
@@ -18,6 +18,7 @@ smcheck(`t-exc', `compile-run')
|
||||
smcheck(`t-rpool', `compile-run')
|
||||
smcheck(`t-string', `compile-run')
|
||||
smcheck(`t-smstdio', `compile-run')
|
||||
smcheck(`t-fget', `compile-run')
|
||||
smcheck(`t-match', `compile-run')
|
||||
smcheck(`t-strio', `compile-run')
|
||||
smcheck(`t-heap', `compile-run')
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_RCSID("@(#)$Id: cf.c,v 1.6 2001/09/11 04:04:47 gshapiro Exp $")
|
||||
SM_RCSID("@(#)$Id: cf.c,v 1.7 2013/03/12 15:24:50 ca Exp $")
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
@@ -54,7 +54,7 @@ sm_cf_getopt(path, optc, optv)
|
||||
if (cfp == NULL)
|
||||
return errno;
|
||||
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
p = strchr(buf, '\n');
|
||||
if (p != NULL)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 2000-2001, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1990, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
@@ -13,7 +13,7 @@
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_RCSID("@(#)$Id: fget.c,v 1.24 2001/09/11 04:04:48 gshapiro Exp $")
|
||||
SM_RCSID("@(#)$Id: fget.c,v 1.25 2013/03/12 15:24:50 ca Exp $")
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sm/io.h>
|
||||
@@ -33,31 +33,32 @@ SM_RCSID("@(#)$Id: fget.c,v 1.24 2001/09/11 04:04:48 gshapiro Exp $")
|
||||
** n -- size of 'buf'
|
||||
**
|
||||
** Returns:
|
||||
** success: returns value of 'buf'
|
||||
** failure: NULL (no characters were read)
|
||||
** timeout: NULL and errno set to EAGAIN
|
||||
** success: number of characters
|
||||
** failure: -1
|
||||
** timeout: -1 and errno set to EAGAIN
|
||||
**
|
||||
** Side Effects:
|
||||
** may move the file pointer
|
||||
*/
|
||||
|
||||
char *
|
||||
int
|
||||
sm_io_fgets(fp, timeout, buf, n)
|
||||
register SM_FILE_T *fp;
|
||||
int timeout;
|
||||
char *buf;
|
||||
register int n;
|
||||
{
|
||||
register int len;
|
||||
register char *s;
|
||||
register unsigned char *p, *t;
|
||||
int len, r;
|
||||
char *s;
|
||||
unsigned char *p, *t;
|
||||
|
||||
SM_REQUIRE_ISA(fp, SmFileMagic);
|
||||
if (n <= 0) /* sanity check */
|
||||
return NULL;
|
||||
return -1;
|
||||
|
||||
s = buf;
|
||||
n--; /* leave space for NUL */
|
||||
r = 0;
|
||||
while (n > 0)
|
||||
{
|
||||
/* If the buffer is empty, refill it. */
|
||||
@@ -73,7 +74,7 @@ sm_io_fgets(fp, timeout, buf, n)
|
||||
{
|
||||
/* EOF/error: stop with partial or no line */
|
||||
if (s == buf)
|
||||
return NULL;
|
||||
return -1;
|
||||
break;
|
||||
}
|
||||
len = fp->f_r;
|
||||
@@ -93,18 +94,20 @@ sm_io_fgets(fp, timeout, buf, n)
|
||||
if (t != NULL)
|
||||
{
|
||||
len = ++t - p;
|
||||
r += len;
|
||||
fp->f_r -= len;
|
||||
fp->f_p = t;
|
||||
(void) memcpy((void *) s, (void *) p, len);
|
||||
s[len] = 0;
|
||||
return buf;
|
||||
return r;
|
||||
}
|
||||
fp->f_r -= len;
|
||||
fp->f_p += len;
|
||||
(void) memcpy((void *) s, (void *) p, len);
|
||||
s += len;
|
||||
r += len;
|
||||
n -= len;
|
||||
}
|
||||
*s = 0;
|
||||
return buf;
|
||||
return r;
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Copyright (c) 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
*
|
||||
* By using this file, you agree to the terms and conditions set
|
||||
* forth in the LICENSE file which can be found at the top level of
|
||||
* the sendmail distribution.
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_IDSTR(id, "@(#)$Id: t-fget.c,v 1.1 2013/03/12 15:24:50 ca Exp $")
|
||||
|
||||
#include <sm/io.h>
|
||||
#include <sm/string.h>
|
||||
#include <sm/test.h>
|
||||
#include <errno.h>
|
||||
|
||||
void
|
||||
check(char *msg, int l)
|
||||
{
|
||||
SM_FILE_T *wfp, *rfp;
|
||||
char buf[256];
|
||||
size_t n;
|
||||
int r, i;
|
||||
static char fn[] = "tfget";
|
||||
|
||||
wfp = sm_io_open(SmFtStdio, SM_TIME_DEFAULT, fn,
|
||||
SM_IO_WRONLY_B, NULL);
|
||||
SM_TEST(wfp != NULL);
|
||||
for (i = 0; i < l; i++)
|
||||
{
|
||||
r = sm_io_putc(wfp, SM_TIME_DEFAULT, msg[i]);
|
||||
SM_TEST(r >= 0);
|
||||
}
|
||||
r = sm_io_close(wfp, SM_TIME_DEFAULT);
|
||||
SM_TEST(r == 0);
|
||||
|
||||
rfp = sm_io_open(SmFtStdio, SM_TIME_DEFAULT, fn,
|
||||
SM_IO_RDONLY_B, NULL);
|
||||
SM_TEST(rfp != NULL);
|
||||
n = sizeof(buf);
|
||||
r = sm_io_fgets(rfp, SM_TIME_DEFAULT, buf, n);
|
||||
if (l == 0)
|
||||
{
|
||||
SM_TEST(r == -1);
|
||||
SM_TEST(errno == 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
SM_TEST(r == l);
|
||||
if (r != l)
|
||||
fprintf(stderr, "buf='%s', in='%s', r=%d, l=%d\n",
|
||||
buf, msg, r, l);
|
||||
}
|
||||
SM_TEST(memcmp(buf, msg, l) == 0);
|
||||
r = sm_io_close(rfp, SM_TIME_DEFAULT);
|
||||
SM_TEST(r == 0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
char res[256];
|
||||
int l;
|
||||
|
||||
sm_test_begin(argc, argv, "test fget");
|
||||
|
||||
check("", strlen(""));
|
||||
check("\n", strlen("\n"));
|
||||
check("test\n", strlen("test\n"));
|
||||
|
||||
l = snprintf(res, sizeof(res), "%c%s\n", '\0', "test ing");
|
||||
check(res, l);
|
||||
|
||||
l = snprintf(res, sizeof(res), "%c%s%c\n", '\0', "test ing", '\0');
|
||||
check(res, l);
|
||||
|
||||
l = snprintf(res, sizeof(res), "%c%s%c%s\n",
|
||||
'\0', "test ing", '\0', "eol");
|
||||
check(res, l);
|
||||
|
||||
return sm_test_end();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2002, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1988, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: mailstats.c,v 8.100 2002/06/27 23:24:06 gshapiro Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: mailstats.c,v 8.102 2013/03/12 15:24:50 ca Exp $")
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stddef.h>
|
||||
@@ -68,13 +68,14 @@ main(argc, argv)
|
||||
extern char *ctime();
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
# define MSOPTS "cC:f:opP"
|
||||
|
||||
cfile = getcfname(0, 0, SM_GET_SENDMAIL_CF, NULL);
|
||||
sfile = NULL;
|
||||
mnames = true;
|
||||
progmode = false;
|
||||
trunc = false;
|
||||
while ((ch = getopt(argc, argv, "cC:f:opP")) != -1)
|
||||
while ((ch = getopt(argc, argv, MSOPTS)) != -1)
|
||||
{
|
||||
switch (ch)
|
||||
{
|
||||
@@ -90,6 +91,7 @@ main(argc, argv)
|
||||
sfile = optarg;
|
||||
break;
|
||||
|
||||
|
||||
case 'o':
|
||||
mnames = false;
|
||||
break;
|
||||
@@ -102,6 +104,7 @@ main(argc, argv)
|
||||
progmode = true;
|
||||
break;
|
||||
|
||||
|
||||
case '?':
|
||||
default:
|
||||
usage:
|
||||
@@ -131,7 +134,7 @@ main(argc, argv)
|
||||
(void) sm_strlcpy(mtable[mno++], "*file*", MNAMELEN + 1);
|
||||
(void) sm_strlcpy(mtable[mno++], "*include*", MNAMELEN + 1);
|
||||
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *b;
|
||||
char *s;
|
||||
@@ -270,6 +273,7 @@ main(argc, argv)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (progmode)
|
||||
{
|
||||
(void) time(&now);
|
||||
|
||||
@@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1992, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: makemap.c,v 8.180 2010/11/23 02:35:08 gshapiro Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: makemap.c,v 8.181 2013/03/12 15:24:51 ca Exp $")
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
@@ -242,7 +242,7 @@ main(argc, argv)
|
||||
cfile, sm_errstring(errno));
|
||||
exit(EX_NOINPUT);
|
||||
}
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *b;
|
||||
|
||||
@@ -392,7 +392,7 @@ main(argc, argv)
|
||||
{
|
||||
lineno = 0;
|
||||
while (sm_io_fgets(smioin, SM_TIME_DEFAULT, ibuf, sizeof ibuf)
|
||||
!= NULL)
|
||||
>= 0)
|
||||
{
|
||||
register char *p;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1988, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: praliases.c,v 8.96 2008/07/10 20:13:10 ca Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: praliases.c,v 8.97 2013/03/12 15:24:51 ca Exp $")
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
@@ -122,7 +122,7 @@ main(argc, argv)
|
||||
exit(EX_NOINPUT);
|
||||
}
|
||||
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *b, *p;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1988, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: rmail.c,v 8.61 2001/09/18 21:45:29 gshapiro Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: rmail.c,v 8.62 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
/*
|
||||
* RMAIL -- UUCP mail server.
|
||||
@@ -136,7 +136,7 @@ main(argc, argv)
|
||||
{
|
||||
/* Get and nul-terminate the line. */
|
||||
if (sm_io_fgets(smioin, SM_TIME_DEFAULT, lbuf,
|
||||
sizeof(lbuf)) == NULL)
|
||||
sizeof(lbuf)) < 0)
|
||||
err(EX_DATAERR, "no data");
|
||||
if ((p = strchr(lbuf, '\n')) == NULL)
|
||||
err(EX_DATAERR, "line too long");
|
||||
@@ -385,7 +385,7 @@ main(argc, argv)
|
||||
{
|
||||
(void) sm_io_fprintf(fp, SM_TIME_DEFAULT, "%s", lbuf);
|
||||
} while (sm_io_fgets(smioin, SM_TIME_DEFAULT, lbuf,
|
||||
sizeof(lbuf)) != NULL);
|
||||
sizeof(lbuf)) >= 0);
|
||||
|
||||
if (sm_io_error(smioin))
|
||||
err(EX_TEMPFAIL, "stdin: %s", sm_errstring(errno));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 8.132 2012/09/11 20:02:44 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 8.139 2013/04/17 17:15:54 ca Exp $
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
define(`confREQUIRE_LIBSM', `true')
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: alias.c,v 8.219 2006/10/24 18:04:09 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: alias.c,v 8.220 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
#define SEPARATOR ':'
|
||||
# define ALIAS_SPEC_SEPARATORS " ,/:"
|
||||
@@ -657,7 +657,7 @@ readaliases(map, af, announcestats, logstats)
|
||||
LineNumber = 0;
|
||||
naliases = bytes = longest = 0;
|
||||
skipping = false;
|
||||
while (sm_io_fgets(af, SM_TIME_DEFAULT, line, sizeof(line)) != NULL)
|
||||
while (sm_io_fgets(af, SM_TIME_DEFAULT, line, sizeof(line)) >= 0)
|
||||
{
|
||||
int lhssize, rhssize;
|
||||
int c;
|
||||
@@ -670,7 +670,7 @@ readaliases(map, af, announcestats, logstats)
|
||||
{
|
||||
p--;
|
||||
if (sm_io_fgets(af, SM_TIME_DEFAULT, p,
|
||||
SPACELEFT(line, p)) == NULL)
|
||||
SPACELEFT(line, p)) < 0)
|
||||
break;
|
||||
LineNumber++;
|
||||
p = strchr(p, '\n');
|
||||
@@ -780,7 +780,7 @@ readaliases(map, af, announcestats, logstats)
|
||||
|
||||
/* read continuation line */
|
||||
if (sm_io_fgets(af, SM_TIME_DEFAULT, p,
|
||||
sizeof(line) - (p-line)) == NULL)
|
||||
sizeof(line) - (p-line)) < 0)
|
||||
break;
|
||||
LineNumber++;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: collect.c,v 8.285 2012/06/14 23:54:02 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: collect.c,v 8.286 2013/03/15 17:54:12 ca Exp $")
|
||||
|
||||
static void eatfrom __P((char *volatile, ENVELOPE *));
|
||||
static void collect_doheader __P((ENVELOPE *));
|
||||
@@ -300,6 +300,9 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
unsigned char *pbp;
|
||||
unsigned char peekbuf[8];
|
||||
char bufbuf[MAXLINE];
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
bool hasNUL; /* has at least one NUL input byte */
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
df = NULL;
|
||||
ignrdot = smtpmode ? false : IgnrDot;
|
||||
@@ -315,6 +318,9 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
hdrslen = 0;
|
||||
numhdrs = 0;
|
||||
HasEightBits = false;
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
hasNUL = false;
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
buf = bp = bufbuf;
|
||||
buflen = sizeof(bufbuf);
|
||||
pbp = peekbuf;
|
||||
@@ -403,6 +409,10 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
SM_TIME_DEFAULT,
|
||||
c);
|
||||
}
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
if (c == '\0')
|
||||
hasNUL = true;
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
if (c == SM_IO_EOF)
|
||||
goto readerr;
|
||||
if (SevenBitInput)
|
||||
@@ -893,6 +903,14 @@ readerr:
|
||||
e->e_bodytype = "7BIT";
|
||||
}
|
||||
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
if (hasNUL && RejectNUL)
|
||||
{
|
||||
e->e_status = "5.6.1";
|
||||
usrerrenh(e->e_status, "554 NUL byte not allowed");
|
||||
}
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
if (SuperSafe == SAFE_REALLY && !bitset(EF_FATALERRS, e->e_flags))
|
||||
{
|
||||
char *dfname = queuename(e, DATAFL_LETTER);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: conf.c,v 8.1176 2012/12/07 03:59:54 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: conf.c,v 8.1182 2013/04/05 17:39:09 ca Exp $")
|
||||
|
||||
#include <sm/sendmail.h>
|
||||
#include <sendmail/pathnames.h>
|
||||
@@ -967,7 +967,7 @@ switch_map_find(service, maptype, mapreturn)
|
||||
char buf[MAXLINE];
|
||||
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *p;
|
||||
|
||||
@@ -2848,7 +2848,7 @@ uname(name)
|
||||
char buf[MAXLINE];
|
||||
|
||||
while (sm_io_fgets(file, SM_TIME_DEFAULT,
|
||||
buf, sizeof(buf)) != NULL)
|
||||
buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
if (sm_io_sscanf(buf, "#define sysname \"%*[^\"]\"",
|
||||
NODE_LENGTH, name->nodename) > 0)
|
||||
@@ -3222,7 +3222,7 @@ usershellok(user, shell)
|
||||
return false;
|
||||
}
|
||||
|
||||
while (sm_io_fgets(shellf, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(shellf, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *p, *q;
|
||||
|
||||
@@ -4294,7 +4294,12 @@ sm_gethostbyname(name, family)
|
||||
#else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
|
||||
int nmaps;
|
||||
# if NETINET6
|
||||
int flags = AI_DEFAULT|AI_ALL;
|
||||
# ifndef SM_IPNODEBYNAME_FLAGS
|
||||
/* For IPv4-mapped addresses, use: AI_DEFAULT|AI_ALL */
|
||||
# define SM_IPNODEBYNAME_FLAGS AI_ADDRCONFIG
|
||||
# endif /* SM_IPNODEBYNAME_FLAGS */
|
||||
|
||||
int flags = SM_IPNODEBYNAME_FLAGS;
|
||||
int err;
|
||||
# endif /* NETINET6 */
|
||||
char *maptype[MAXMAPSTACK];
|
||||
@@ -6004,6 +6009,23 @@ char *OsCompileOptions[] =
|
||||
#if SECUREWARE
|
||||
"SECUREWARE",
|
||||
#endif /* SECUREWARE */
|
||||
#if SFS_TYPE == SFS_4ARGS
|
||||
"SFS_4ARGS",
|
||||
#elif SFS_TYPE == SFS_MOUNT
|
||||
"SFS_MOUNT",
|
||||
#elif SFS_TYPE == SFS_NONE
|
||||
"SFS_NONE",
|
||||
#elif SFS_TYPE == SFS_NT
|
||||
"SFS_NT",
|
||||
#elif SFS_TYPE == SFS_STATFS
|
||||
"SFS_STATFS",
|
||||
#elif SFS_TYPE == SFS_STATVFS
|
||||
"SFS_STATVFS",
|
||||
#elif SFS_TYPE == SFS_USTAT
|
||||
"SFS_USTAT",
|
||||
#elif SFS_TYPE == SFS_VFS
|
||||
"SFS_VFS",
|
||||
#endif
|
||||
#if SHARE_V1
|
||||
"SHARE_V1",
|
||||
#endif /* SHARE_V1 */
|
||||
@@ -6184,6 +6206,10 @@ char *FFRCompileOptions[] =
|
||||
|
||||
"_FFR_GETHBN_ExFILE",
|
||||
#endif /* _FFR_GETHBN_ExFILE */
|
||||
#if _FFR_FIPSMODE
|
||||
/* FIPSMode (if supported by OpenSSL library) */
|
||||
"_FFR_FIPSMODE",
|
||||
#endif /* _FFR_FIPSMODE */
|
||||
#if _FFR_FIX_DASHT
|
||||
/*
|
||||
** If using -t, force not sending to argv recipients, even
|
||||
@@ -6363,6 +6389,10 @@ char *FFRCompileOptions[] =
|
||||
|
||||
"_FFR_REDIRECTEMPTY",
|
||||
#endif /* _FFR_REDIRECTEMPTY */
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
/* reject NUL bytes in body */
|
||||
"_FFR_REJECT_NUL_BYTE",
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
#if _FFR_RESET_MACRO_GLOBALS
|
||||
/* Allow macro 'j' to be set dynamically via rulesets. */
|
||||
"_FFR_RESET_MACRO_GLOBALS",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: control.c,v 8.128 2006/08/15 23:24:56 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: control.c,v 8.129 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
#include <sm/fdset.h>
|
||||
|
||||
@@ -301,7 +301,7 @@ control_command(sock, e)
|
||||
(void) sm_io_setvbuf(s, SM_TIME_DEFAULT, NULL,
|
||||
SM_IO_NBF, SM_IO_BUFSIZ);
|
||||
|
||||
if (sm_io_fgets(s, SM_TIME_DEFAULT, inp, sizeof(inp)) == NULL)
|
||||
if (sm_io_fgets(s, SM_TIME_DEFAULT, inp, sizeof(inp)) < 0)
|
||||
{
|
||||
(void) sm_io_close(s, SM_TIME_DEFAULT);
|
||||
exit(EX_IOERR);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <sm/time.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: deliver.c,v 8.1027 2012/12/19 02:49:21 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: deliver.c,v 8.1028 2013/01/02 18:57:42 ca Exp $")
|
||||
|
||||
#if HASSETUSERCONTEXT
|
||||
# include <login_cap.h>
|
||||
@@ -6153,7 +6153,7 @@ starttls(m, mci, e)
|
||||
sm_syslog(LOG_ERR, NOQID,
|
||||
"STARTTLS=client, error: SSL_new failed");
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("client");
|
||||
tlslogerr(LOG_WARNING, "client");
|
||||
}
|
||||
return EX_SOFTWARE;
|
||||
}
|
||||
@@ -6172,7 +6172,7 @@ starttls(m, mci, e)
|
||||
"STARTTLS=client, error: SSL_set_xfd failed=%d",
|
||||
result);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("client");
|
||||
tlslogerr(LOG_WARNING, "client");
|
||||
}
|
||||
return EX_SOFTWARE;
|
||||
}
|
||||
@@ -6202,7 +6202,7 @@ ssl_retry:
|
||||
result, sr == NULL ? "unknown" : sr, ssl_err,
|
||||
errno, i);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("client");
|
||||
tlslogerr(LOG_WARNING, "client");
|
||||
}
|
||||
|
||||
SSL_free(clt_ssl);
|
||||
|
||||
@@ -26,7 +26,7 @@ SM_UNUSED(static char copyright[]) =
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* ! lint */
|
||||
|
||||
SM_RCSID("@(#)$Id: main.c,v 8.981 2012/06/14 23:54:02 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: main.c,v 8.983 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
|
||||
#if NETINET || NETINET6
|
||||
@@ -2103,7 +2103,7 @@ main(argc, argv, envp)
|
||||
"> ");
|
||||
(void) sm_io_flush(smioout, SM_TIME_DEFAULT);
|
||||
if (sm_io_fgets(smioin, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) == NULL)
|
||||
sizeof(buf)) < 0)
|
||||
testmodeline("/quit", &MainEnvelope);
|
||||
p = strchr(buf, '\n');
|
||||
if (p != NULL)
|
||||
@@ -2153,7 +2153,13 @@ main(argc, argv, envp)
|
||||
if (tls_ok)
|
||||
{
|
||||
/* basic TLS initialization */
|
||||
tls_ok = init_tls_library();
|
||||
tls_ok = init_tls_library(FipsMode);
|
||||
if (!tls_ok && FipsMode)
|
||||
{
|
||||
(void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
|
||||
"ERROR: FIPSMode failed to initialize\n");
|
||||
exit(EX_USAGE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!tls_ok && (OpMode == MD_QUEUERUN || OpMode == MD_DELIVER))
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: map.c,v 8.709 2012/04/20 18:47:09 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: map.c,v 8.711 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
#if LDAPMAP
|
||||
# include <sm/ldap.h>
|
||||
@@ -2883,6 +2883,9 @@ nis_getcanonname(name, hbsize, statp)
|
||||
# undef T_UNSPEC /* symbol conflict in nis.h -> ... -> sys/tiuser.h */
|
||||
# include <rpcsvc/nis.h>
|
||||
# include <rpcsvc/nislib.h>
|
||||
# ifndef NIS_TABLE_OBJ
|
||||
# define NIS_TABLE_OBJ TABLE_OBJ
|
||||
# endif /* NIS_TABLE_OBJ */
|
||||
|
||||
# define EN_col(col) zo_data.objdata_u.en_data.en_cols.en_cols_val[(col)].ec_value.ec_value_val
|
||||
# define COL_NAME(res,i) ((res->objects.objects_val)->TA_data.ta_cols.ta_cols_val)[i].tc_name
|
||||
@@ -2970,7 +2973,7 @@ nisplus_map_open(map, mode)
|
||||
}
|
||||
|
||||
if (NIS_RES_NUMOBJ(res) != 1 ||
|
||||
(NIS_RES_OBJECT(res)->zo_data.zo_type != TABLE_OBJ))
|
||||
(NIS_RES_OBJECT(res)->zo_data.zo_type != NIS_TABLE_OBJ))
|
||||
{
|
||||
if (tTd(38, 10))
|
||||
sm_dprintf("nisplus_map_open: %s is not a table\n", qbuf);
|
||||
@@ -5834,7 +5837,7 @@ text_map_lookup(map, name, av, statp)
|
||||
key_idx = map->map_keycolno;
|
||||
delim = map->map_coldelim;
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT,
|
||||
linebuf, sizeof(linebuf)) != NULL)
|
||||
linebuf, sizeof(linebuf)) >= 0)
|
||||
{
|
||||
char *p;
|
||||
|
||||
@@ -5908,7 +5911,7 @@ text_getcanonname(name, hbsize, statp)
|
||||
found = false;
|
||||
while (!found &&
|
||||
sm_io_fgets(f, SM_TIME_DEFAULT,
|
||||
linebuf, sizeof(linebuf)) != NULL)
|
||||
linebuf, sizeof(linebuf)) >= 0)
|
||||
{
|
||||
char *p = strpbrk(linebuf, "#\n");
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: mci.c,v 8.223 2010/03/10 04:35:28 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: mci.c,v 8.224 2013/03/12 15:24:53 ca Exp $")
|
||||
|
||||
#if NETINET || NETINET6
|
||||
# include <arpa/inet.h>
|
||||
@@ -972,7 +972,7 @@ mci_read_persistent(fp, mci)
|
||||
sm_io_rewind(fp, SM_TIME_DEFAULT);
|
||||
ver = -1;
|
||||
LineNumber = 0;
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
LineNumber++;
|
||||
p = strchr(buf, '\n');
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999-2009 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1999-2009, 2012, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
*
|
||||
* By using this file, you agree to the terms and conditions set
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: milter.c,v 8.279 2012/11/16 20:25:03 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: milter.c,v 8.280 2013/01/16 18:48:36 ca Exp $")
|
||||
|
||||
#if MILTER
|
||||
# include <sm/sendmail.h>
|
||||
@@ -2184,7 +2184,7 @@ milter_send_command(m, cmd, data, sz, e, state, where)
|
||||
** cmd -- command to send.
|
||||
** data -- optional command data.
|
||||
** sz -- length of buf.
|
||||
** macros -- macros to send for filter smfi_getsymval().
|
||||
** stage -- index of macros to send for filter smfi_getsymval().
|
||||
** e -- current envelope (for macro access).
|
||||
** state -- return state word.
|
||||
** where -- description of calling function (logging).
|
||||
@@ -2328,7 +2328,6 @@ milter_getsymlist(m, buf, rlen, offset)
|
||||
case SMFIM_DATA:
|
||||
SM_ASSERT(m->mf_idx > 0 && m->mf_idx < MAXFILTERS);
|
||||
macros = MilterMacros[i][m->mf_idx];
|
||||
|
||||
m->mf_lflags |= MI_LFLAGS_SYM(i);
|
||||
len = strlen(buf + offset);
|
||||
if (len > 0)
|
||||
|
||||
+21
-20
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2003, 2006 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2003, 2006, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1994, 1996-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1994
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <string.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: mime.c,v 8.147 2007/09/26 23:29:11 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: mime.c,v 8.148 2013/03/12 15:24:53 ca Exp $")
|
||||
|
||||
/*
|
||||
** MIME support.
|
||||
@@ -107,6 +107,7 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
{
|
||||
register char *p;
|
||||
int linelen;
|
||||
int blen;
|
||||
int bt;
|
||||
off_t offset;
|
||||
size_t sectionsize, sectionhighbits;
|
||||
@@ -322,13 +323,13 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
goto writeerr;
|
||||
mci->mci_flags &= ~MCIF_INHEADER;
|
||||
bt = MBT_FINAL;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
bt = mimeboundary(buf, boundaries);
|
||||
if (bt != MBT_NOTSEP)
|
||||
break;
|
||||
if (!putxline(buf, strlen(buf), mci,
|
||||
if (!putxline(buf, blen, mci,
|
||||
PXLF_MAPFROM|PXLF_STRIP8BIT))
|
||||
goto writeerr;
|
||||
if (tTd(43, 99))
|
||||
@@ -366,13 +367,13 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
mci->mci_flags &= ~MCIF_INMIME;
|
||||
|
||||
/* skip the late "comment" epilogue */
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
bt = mimeboundary(buf, boundaries);
|
||||
if (bt != MBT_NOTSEP)
|
||||
break;
|
||||
if (!putxline(buf, strlen(buf), mci,
|
||||
if (!putxline(buf, blen, mci,
|
||||
PXLF_MAPFROM|PXLF_STRIP8BIT))
|
||||
goto writeerr;
|
||||
if (tTd(43, 99))
|
||||
@@ -443,16 +444,16 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
DATAFL_LETTER, e->e_id);
|
||||
|
||||
/* do a scan of this body type to count character types */
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
if (mimeboundary(buf, boundaries) != MBT_NOTSEP)
|
||||
break;
|
||||
for (p = buf; *p != '\0'; p++)
|
||||
for (i = 0; i < blen; i++)
|
||||
{
|
||||
/* count bytes with the high bit set */
|
||||
sectionsize++;
|
||||
if (bitset(0200, *p))
|
||||
if (bitset(0200, buf[i]))
|
||||
sectionhighbits++;
|
||||
}
|
||||
|
||||
@@ -522,8 +523,8 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
if (!putline("", mci))
|
||||
goto writeerr;
|
||||
mci->mci_flags &= ~MCIF_INHEADER;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
if (!bitset(MCIF_INLONGLINE, mci->mci_flags))
|
||||
{
|
||||
@@ -531,7 +532,7 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
if (bt != MBT_NOTSEP)
|
||||
break;
|
||||
}
|
||||
if (!putxline(buf, strlen(buf), mci,
|
||||
if (!putxline(buf, blen, mci,
|
||||
PXLF_MAPFROM|PXLF_NOADDEOL))
|
||||
goto writeerr;
|
||||
}
|
||||
@@ -1033,7 +1034,7 @@ mime7to8(mci, header, e)
|
||||
HDR *header;
|
||||
register ENVELOPE *e;
|
||||
{
|
||||
int pxflags;
|
||||
int pxflags, blen;
|
||||
register char *p;
|
||||
char *cte;
|
||||
char **pvp;
|
||||
@@ -1066,10 +1067,10 @@ mime7to8(mci, header, e)
|
||||
if (!putline("", mci))
|
||||
goto writeerr;
|
||||
mci->mci_flags &= ~MCIF_INHEADER;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
if (!putline(buf, mci))
|
||||
if (!putxline(buf, blen, mci, PXLF_MAPFROM))
|
||||
goto writeerr;
|
||||
}
|
||||
return true;
|
||||
@@ -1177,7 +1178,7 @@ mime7to8(mci, header, e)
|
||||
pxflags |= PXLF_NOADDEOL;
|
||||
fbufp = fbuf;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
sizeof(buf)) >= 0)
|
||||
{
|
||||
off = mime_fromqp((unsigned char *) buf, &fbufp,
|
||||
&fbuf[MAXLINE] - fbufp);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: parseaddr.c,v 8.405 2012/02/27 22:49:08 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: parseaddr.c,v 8.406 2013/04/17 16:53:01 ca Exp $")
|
||||
|
||||
#include <sm/sendmail.h>
|
||||
#include "map.h"
|
||||
@@ -2350,6 +2350,14 @@ sameaddr(a, b)
|
||||
if (a->q_mailer != b->q_mailer)
|
||||
return false;
|
||||
|
||||
/*
|
||||
** Addresses resolving to error mailer
|
||||
** should not be considered identical
|
||||
*/
|
||||
|
||||
if (a->q_mailer == &errormailer)
|
||||
return false;
|
||||
|
||||
/* if the user isn't the same, we can drop out */
|
||||
if (strcmp(a->q_user, b->q_user) != 0)
|
||||
return false;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <sm/sem.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: queue.c,v 8.997 2012/06/14 23:54:03 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: queue.c,v 8.998 2013/03/12 15:24:53 ca Exp $")
|
||||
|
||||
#include <dirent.h>
|
||||
|
||||
@@ -2746,7 +2746,7 @@ gatherq(qgrp, qdir, doall, full, more, pnentries)
|
||||
i |= NEED_QUARANTINE;
|
||||
while (cf != NULL && i != 0 &&
|
||||
sm_io_fgets(cf, SM_TIME_DEFAULT, lbuf,
|
||||
sizeof(lbuf)) != NULL)
|
||||
sizeof(lbuf)) >= 0)
|
||||
{
|
||||
int c;
|
||||
time_t age;
|
||||
@@ -4981,7 +4981,7 @@ print_single_queue(qgrp, qdir)
|
||||
quarmsg[0] = '\0';
|
||||
statmsg[0] = bodytype[0] = '\0';
|
||||
qfver = 0;
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register int i;
|
||||
register char *p;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2006, 2008-2010 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2006, 2008-2010, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <sm/sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: readcf.c,v 8.684 2011/03/15 17:29:29 guenther Exp $")
|
||||
SM_RCSID("@(#)$Id: readcf.c,v 8.690 2013/03/15 17:54:12 ca Exp $")
|
||||
|
||||
#if NETINET || NETINET6
|
||||
# include <arpa/inet.h>
|
||||
@@ -1141,7 +1141,7 @@ fileclass(class, filename, fmt, ismap, safe, optional)
|
||||
return;
|
||||
}
|
||||
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
#if SCANF
|
||||
char wordbuf[MAXLINE + 1];
|
||||
@@ -2284,6 +2284,14 @@ static struct optioninfo
|
||||
# define O_INETQOS 0xe7 /* reserved for FFR_QOS */
|
||||
{ "InetQoS", O_INETQOS, OI_NONE },
|
||||
#endif
|
||||
#if STARTTLS && _FFR_FIPSMODE
|
||||
# define O_FIPSMODE 0xe8
|
||||
{ "FIPSMode", O_FIPSMODE, OI_NONE },
|
||||
#endif /* STARTTLS && _FFR_FIPSMODE */
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
# define O_REJECTNUL 0xe9
|
||||
{ "RejectNUL", O_REJECTNUL, OI_SAFE },
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
{ NULL, '\0', OI_NONE }
|
||||
};
|
||||
@@ -3862,6 +3870,11 @@ setoption(opt, val, safe, sticky, e)
|
||||
break;
|
||||
|
||||
#endif /* STARTTLS */
|
||||
#if STARTTLS && _FFR_FIPSMODE
|
||||
case O_FIPSMODE:
|
||||
FipsMode = atobool(val);
|
||||
break;
|
||||
#endif /* STARTTLS && _FFR_FIPSMODE */
|
||||
|
||||
case O_CLIENTPORT:
|
||||
setclientoptions(val);
|
||||
@@ -4016,6 +4029,12 @@ setoption(opt, val, safe, sticky, e)
|
||||
break;
|
||||
#endif /* _FFR_BADRCPT_SHUTDOWN */
|
||||
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
case O_REJECTNUL:
|
||||
RejectNUL = atobool(val);
|
||||
break;
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
default:
|
||||
if (tTd(37, 1))
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: recipient.c,v 8.349 2007/07/10 17:01:22 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: recipient.c,v 8.350 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
static void includetimeout __P((int));
|
||||
static ADDRESS *self_reference __P((ADDRESS *));
|
||||
@@ -1824,7 +1824,7 @@ resetuid:
|
||||
LineNumber = 0;
|
||||
ctladdr->q_flags &= ~QSELFREF;
|
||||
nincludes = 0;
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL &&
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0 &&
|
||||
!maxreached)
|
||||
{
|
||||
fixcrlf(buf, true);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2003, 2006 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2003, 2006, 2012, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: savemail.c,v 8.315 2012/02/27 17:43:03 gshapiro Exp $")
|
||||
SM_RCSID("@(#)$Id: savemail.c,v 8.318 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
static bool errbody __P((MCI *, ENVELOPE *, char *));
|
||||
static bool pruneroute __P((char *));
|
||||
@@ -204,7 +204,7 @@ savemail(e, sendbody)
|
||||
(void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
|
||||
"Transcript follows:\r\n");
|
||||
while (sm_io_fgets(e->e_xfp, SM_TIME_DEFAULT,
|
||||
buf, sizeof(buf)) != NULL &&
|
||||
buf, sizeof(buf)) >= 0 &&
|
||||
!sm_io_error(smioout))
|
||||
(void) sm_io_fputs(smioout,
|
||||
SM_TIME_DEFAULT,
|
||||
@@ -866,7 +866,7 @@ errbody(mci, e, separator)
|
||||
if (xfile != NULL)
|
||||
{
|
||||
while (sm_io_fgets(xfile, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
sizeof(buf)) >= 0)
|
||||
{
|
||||
int lbs;
|
||||
bool putok;
|
||||
@@ -1042,18 +1042,20 @@ errbody(mci, e, separator)
|
||||
}
|
||||
else
|
||||
{
|
||||
int blen;
|
||||
|
||||
printheader = true;
|
||||
(void) bfrewind(e->e_parent->e_xfp);
|
||||
if (e->e_xfp != NULL)
|
||||
(void) sm_io_flush(e->e_xfp, SM_TIME_DEFAULT);
|
||||
while (sm_io_fgets(e->e_parent->e_xfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
while ((blen = sm_io_fgets(e->e_parent->e_xfp, SM_TIME_DEFAULT,
|
||||
buf, sizeof(buf))) >= 0)
|
||||
{
|
||||
if (printheader && !putline(" ----- Transcript of session follows -----\n",
|
||||
mci))
|
||||
goto writeerr;
|
||||
printheader = false;
|
||||
if (!putline(buf, mci))
|
||||
if (!putxline(buf, blen, mci, PXLF_MAPFROM))
|
||||
goto writeerr;
|
||||
}
|
||||
}
|
||||
@@ -1174,11 +1176,24 @@ errbody(mci, e, separator)
|
||||
/* Original-Recipient: -- passed from on high */
|
||||
if (q->q_orcpt != NULL)
|
||||
{
|
||||
(void) sm_snprintf(buf, sizeof(buf),
|
||||
"Original-Recipient: %.800s",
|
||||
q->q_orcpt);
|
||||
if (!putline(buf, mci))
|
||||
goto writeerr;
|
||||
p = strchr(q->q_orcpt, ';');
|
||||
|
||||
/*
|
||||
** p == NULL shouldn't happen due to
|
||||
** check in srvrsmtp.c
|
||||
** we could log an error in this case.
|
||||
*/
|
||||
|
||||
if (p != NULL)
|
||||
{
|
||||
*p = '\0';
|
||||
(void) sm_snprintf(buf, sizeof(buf),
|
||||
"Original-Recipient: %.100s;%.700s",
|
||||
q->q_orcpt, xuntextify(p + 1));
|
||||
*p = ';';
|
||||
if (!putline(buf, mci))
|
||||
goto writeerr;
|
||||
}
|
||||
}
|
||||
|
||||
/* Figure out actual recipient */
|
||||
@@ -1682,6 +1697,34 @@ xtextok(s)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
** ISATOM -- check if a string is an "atom"
|
||||
**
|
||||
** Parameters:
|
||||
** s -- the string to check.
|
||||
**
|
||||
** Returns:
|
||||
** true -- iff s is an atom
|
||||
*/
|
||||
|
||||
bool
|
||||
isatom(s)
|
||||
const char *s;
|
||||
{
|
||||
int c;
|
||||
|
||||
if (s == NULL || *s == '\0')
|
||||
return false;
|
||||
while ((c = *s++) != '\0')
|
||||
{
|
||||
if (strchr("()<>@,;:\\.[]\"", c) != NULL)
|
||||
return false;
|
||||
if (c < '!' || c > '~')
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
** PRUNEROUTE -- prune an RFC-822 source route
|
||||
**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#ifdef _DEFINE
|
||||
# ifndef lint
|
||||
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1096 2012/11/16 20:25:03 ca Exp $";
|
||||
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1101 2013/03/15 17:54:12 ca Exp $";
|
||||
# endif /* ! lint */
|
||||
#endif /* _DEFINE */
|
||||
|
||||
@@ -124,7 +124,11 @@ SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1096 2012/11/16 20:2
|
||||
#if STARTTLS
|
||||
# include <openssl/ssl.h>
|
||||
# if !TLS_NO_RSA
|
||||
# define RSA_KEYLENGTH 512
|
||||
# if _FFR_FIPSMODE
|
||||
# define RSA_KEYLENGTH 1024
|
||||
# else /* _FFR_FIPSMODE */
|
||||
# define RSA_KEYLENGTH 512
|
||||
# endif /* _FFR_FIPSMODE */
|
||||
# endif /* !TLS_NO_RSA */
|
||||
#endif /* STARTTLS */
|
||||
|
||||
@@ -1936,14 +1940,14 @@ struct termescape
|
||||
#define TLS_AUTH_FAIL (-1)
|
||||
|
||||
/* functions */
|
||||
extern bool init_tls_library __P((void));
|
||||
extern bool init_tls_library __P((bool _fipsmode));
|
||||
extern bool inittls __P((SSL_CTX **, unsigned long, long, bool, char *, char *, char *, char *, char *));
|
||||
extern bool initclttls __P((bool));
|
||||
extern void setclttls __P((bool));
|
||||
extern bool initsrvtls __P((bool));
|
||||
extern int tls_get_info __P((SSL *, bool, char *, MACROS_T *, bool));
|
||||
extern int endtls __P((SSL *, char *));
|
||||
extern void tlslogerr __P((const char *));
|
||||
extern void tlslogerr __P((int, const char *));
|
||||
|
||||
|
||||
EXTERN char *CACertPath; /* path to CA certificates (dir. with hashes) */
|
||||
@@ -2291,6 +2295,7 @@ EXTERN bool DontLockReadFiles; /* don't read lock support files */
|
||||
EXTERN bool DontPruneRoutes; /* don't prune source routes */
|
||||
EXTERN bool ForkQueueRuns; /* fork for each job when running the queue */
|
||||
EXTERN bool FromFlag; /* if set, "From" person is explicit */
|
||||
EXTERN bool FipsMode;
|
||||
EXTERN bool GrabTo; /* if set, get recipients from msg */
|
||||
EXTERN bool EightBitAddrOK; /* we'll let 8-bit addresses through */
|
||||
EXTERN bool HasEightBits; /* has at least one eight bit input byte */
|
||||
@@ -2305,6 +2310,9 @@ EXTERN bool NoAlias; /* suppress aliasing */
|
||||
EXTERN bool NoConnect; /* don't connect to non-local mailers */
|
||||
EXTERN bool OnlyOneError; /* .... or only want to give one SMTP reply */
|
||||
EXTERN bool QuickAbort; /* .... but only if we want a quick abort */
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
EXTERN bool RejectNUL; /* reject NUL input byte? */
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
#if REQUIRES_DIR_FSYNC
|
||||
EXTERN bool RequiresDirfsync; /* requires fsync() for directory */
|
||||
#endif /* REQUIRES_DIR_FSYNC */
|
||||
@@ -2650,6 +2658,7 @@ extern void initmacros __P((ENVELOPE *));
|
||||
extern void initsetproctitle __P((int, char **, char **));
|
||||
extern void init_vendor_macros __P((ENVELOPE *));
|
||||
extern SIGFUNC_DECL intsig __P((int));
|
||||
extern bool isatom __P((const char *));
|
||||
extern bool isloopback __P((SOCKADDR sa));
|
||||
extern void load_if_names __P((void));
|
||||
extern bool lockfile __P((int, char *, char *, int));
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_RCSID("@(#)$Id: sfsasl.c,v 8.118 2008/07/22 15:12:48 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: sfsasl.c,v 8.120 2013/03/15 17:49:12 guenther Exp $")
|
||||
#include <stdlib.h>
|
||||
#include <sendmail.h>
|
||||
#include <sm/time.h>
|
||||
@@ -628,13 +628,14 @@ tls_retry(ssl, rfd, wfd, tlsstart, timeout, err, where)
|
||||
"STARTTLS=%s, error: fd %d/%d too large",
|
||||
where, rfd, wfd);
|
||||
if (LogLevel > 8)
|
||||
tlslogerr(where);
|
||||
tlslogerr(LOG_WARNING, where);
|
||||
}
|
||||
errno = EINVAL;
|
||||
}
|
||||
else if (err == SSL_ERROR_WANT_READ)
|
||||
{
|
||||
fd_set ssl_maskr, ssl_maskx;
|
||||
int save_errno = errno;
|
||||
|
||||
FD_ZERO(&ssl_maskr);
|
||||
FD_SET(rfd, &ssl_maskr);
|
||||
@@ -647,10 +648,12 @@ tls_retry(ssl, rfd, wfd, tlsstart, timeout, err, where)
|
||||
} while (ret < 0 && errno == EINTR);
|
||||
if (ret < 0 && errno > 0)
|
||||
ret = -errno;
|
||||
errno = save_errno;
|
||||
}
|
||||
else if (err == SSL_ERROR_WANT_WRITE)
|
||||
{
|
||||
fd_set ssl_maskw, ssl_maskx;
|
||||
int save_errno = errno;
|
||||
|
||||
FD_ZERO(&ssl_maskw);
|
||||
FD_SET(wfd, &ssl_maskw);
|
||||
@@ -663,6 +666,7 @@ tls_retry(ssl, rfd, wfd, tlsstart, timeout, err, where)
|
||||
} while (ret < 0 && errno == EINTR);
|
||||
if (ret < 0 && errno > 0)
|
||||
ret = -errno;
|
||||
errno = save_errno;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -770,8 +774,17 @@ tls_read(fp, buf, size)
|
||||
break;
|
||||
#endif /* DEAL_WITH_ERROR_SSL */
|
||||
err = "generic SSL error";
|
||||
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("read");
|
||||
{
|
||||
int pri;
|
||||
|
||||
if (errno == EAGAIN && try > 0)
|
||||
pri = LOG_DEBUG;
|
||||
else
|
||||
pri = LOG_WARNING;
|
||||
tlslogerr(pri, "read");
|
||||
}
|
||||
|
||||
#if DEAL_WITH_ERROR_SSL
|
||||
/* avoid repeated calls? */
|
||||
@@ -792,11 +805,19 @@ tls_read(fp, buf, size)
|
||||
"STARTTLS: read error=timeout");
|
||||
}
|
||||
else if (LogLevel > 8)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
{
|
||||
int pri;
|
||||
|
||||
if (save_errno == EAGAIN && try > 0)
|
||||
pri = LOG_DEBUG;
|
||||
else
|
||||
pri = LOG_WARNING;
|
||||
sm_syslog(pri, NOQID,
|
||||
"STARTTLS: read error=%s (%d), errno=%d, get_error=%s, retry=%d, ssl_err=%d",
|
||||
err, r, errno,
|
||||
ERR_error_string(ERR_get_error(), NULL), try,
|
||||
ssl_err);
|
||||
}
|
||||
else if (LogLevel > 7)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
"STARTTLS: read error=%s (%d), retry=%d, ssl_err=%d",
|
||||
@@ -878,7 +899,7 @@ tls_write(fp, buf, size)
|
||||
ERR_GET_REASON(ERR_peek_error()));
|
||||
*/
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("write");
|
||||
tlslogerr(LOG_WARNING, "write");
|
||||
|
||||
#if DEAL_WITH_ERROR_SSL
|
||||
/* avoid repeated calls? */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2010, 2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2010, 2012, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -17,7 +17,7 @@
|
||||
# include <libmilter/mfdef.h>
|
||||
#endif /* MILTER */
|
||||
|
||||
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.1011 2012/12/19 02:49:21 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.1015 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
#include <sm/time.h>
|
||||
#include <sm/fdset.h>
|
||||
@@ -1864,7 +1864,7 @@ smtp(nullserver, d_flags, e)
|
||||
{
|
||||
message("454 4.3.3 TLS not available: error generating SSL handle");
|
||||
if (LogLevel > 8)
|
||||
tlslogerr("server");
|
||||
tlslogerr(LOG_WARNING, "server");
|
||||
goto tls_done;
|
||||
}
|
||||
|
||||
@@ -1927,7 +1927,7 @@ smtp(nullserver, d_flags, e)
|
||||
ssl_err, errno, i,
|
||||
CurSmtpClient);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("server");
|
||||
tlslogerr(LOG_WARNING, "server");
|
||||
}
|
||||
tls_ok_srv = false;
|
||||
SSL_free(srv_ssl);
|
||||
@@ -4518,6 +4518,8 @@ rcpt_esmtp_args(a, kp, vp, e)
|
||||
}
|
||||
else if (sm_strcasecmp(kp, "orcpt") == 0)
|
||||
{
|
||||
char *p;
|
||||
|
||||
if (!bitset(SRV_OFFER_DSN, e->e_features))
|
||||
{
|
||||
usrerr("504 5.7.0 Sorry, ORCPT not supported, we do not allow DSN");
|
||||
@@ -4528,16 +4530,25 @@ rcpt_esmtp_args(a, kp, vp, e)
|
||||
usrerr("501 5.5.2 ORCPT requires a value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
if (strchr(vp, ';') == NULL || !xtextok(vp))
|
||||
{
|
||||
usrerr("501 5.5.4 Syntax error in ORCPT parameter value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
if (a->q_orcpt != NULL)
|
||||
{
|
||||
usrerr("501 5.5.0 Duplicate ORCPT parameter");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
p = strchr(vp, ';');
|
||||
if (p == NULL)
|
||||
{
|
||||
usrerr("501 5.5.4 Syntax error in ORCPT parameter value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
*p = '\0';
|
||||
if (!isatom(vp) || !xtextok(p + 1))
|
||||
{
|
||||
*p = ';';
|
||||
usrerr("501 5.5.4 Syntax error in ORCPT parameter value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
*p = ';';
|
||||
a->q_orcpt = sm_rpool_strdup_x(e->e_rpool, vp);
|
||||
}
|
||||
else
|
||||
@@ -4923,7 +4934,7 @@ help(topic, e)
|
||||
|
||||
len = strlen(topic);
|
||||
|
||||
while (sm_io_fgets(hf, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(hf, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
if (buf[0] == '#')
|
||||
{
|
||||
|
||||
+49
-21
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2006, 2008, 2009, 2011 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 2000-2006, 2008, 2009, 2011, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
*
|
||||
* By using this file, you agree to the terms and conditions set
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: tls.c,v 8.118 2011/03/07 23:20:47 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: tls.c,v 8.121 2013/01/02 23:54:17 ca Exp $")
|
||||
|
||||
#if STARTTLS
|
||||
# include <openssl/err.h>
|
||||
@@ -267,15 +267,18 @@ tls_rand_init(randfile, logl)
|
||||
** INIT_TLS_LIBRARY -- Calls functions which setup TLS library for global use.
|
||||
**
|
||||
** Parameters:
|
||||
** none.
|
||||
** fipsmode -- use FIPS?
|
||||
**
|
||||
** Returns:
|
||||
** succeeded?
|
||||
*/
|
||||
|
||||
bool
|
||||
init_tls_library()
|
||||
init_tls_library(fipsmode)
|
||||
bool fipsmode;
|
||||
{
|
||||
bool bv;
|
||||
|
||||
/* basic TLS initialization, ignore result for now */
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
@@ -284,7 +287,30 @@ init_tls_library()
|
||||
SSLeay_add_ssl_algorithms();
|
||||
# endif /* 0 */
|
||||
|
||||
return tls_rand_init(RandFile, 7);
|
||||
bv = tls_rand_init(RandFile, 7);
|
||||
# if _FFR_FIPSMODE
|
||||
if (bv && fipsmode)
|
||||
{
|
||||
if (!FIPS_mode_set(1))
|
||||
{
|
||||
unsigned long err;
|
||||
|
||||
err = ERR_get_error();
|
||||
if (LogLevel > 0)
|
||||
sm_syslog(LOG_ERR, NOQID,
|
||||
"STARTTLS=init, FIPSMode=%s",
|
||||
ERR_error_string(err, NULL));
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LogLevel > 9)
|
||||
sm_syslog(LOG_INFO, NOQID,
|
||||
"STARTTLS=init, FIPSMode=ok");
|
||||
}
|
||||
}
|
||||
#endif /* _FFR_FIPSMODE */
|
||||
return bv;
|
||||
}
|
||||
/*
|
||||
** TLS_SET_VERIFY -- request client certificate?
|
||||
@@ -709,7 +735,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_new(SSLv23_%s_method()) failed",
|
||||
who, who);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -808,7 +834,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: RSA_generate_key failed",
|
||||
who);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -829,7 +855,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_PrivateKey_file(%s) failed",
|
||||
who, keyfile);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_USE_KEY, req))
|
||||
return false;
|
||||
@@ -846,7 +872,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_certificate_file(%s) failed",
|
||||
who, certfile);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_USE_CERT, req))
|
||||
return false;
|
||||
@@ -863,7 +889,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_check_private_key failed(%s): %d",
|
||||
who, keyfile, r);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_USE_KEY, req))
|
||||
return false;
|
||||
@@ -882,7 +908,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_PrivateKey_file(%s) failed",
|
||||
who, kf2);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -896,7 +922,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_certificate_file(%s) failed",
|
||||
who, cf2);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -911,7 +937,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_check_private_key 2 failed: %d",
|
||||
who, r);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
# endif /* _FFR_TLS_1 */
|
||||
@@ -962,7 +988,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
who, dhparam,
|
||||
ERR_error_string(err, NULL));
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -973,7 +999,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: BIO_new_file(%s) failed",
|
||||
who, dhparam);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1089,7 +1115,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: load verify locs %s, %s failed: %d",
|
||||
who, cacertpath, cacertfile, r);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_VRFY_LOC, req))
|
||||
return false;
|
||||
@@ -1113,7 +1139,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
who, CipherList);
|
||||
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
/* failure if setting to this list is required? */
|
||||
}
|
||||
@@ -1377,7 +1403,7 @@ endtls(ssl, side)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
"STARTTLS=%s, SSL_shutdown failed: %d",
|
||||
side, r);
|
||||
tlslogerr(side);
|
||||
tlslogerr(LOG_WARNING, side);
|
||||
}
|
||||
ret = EX_SOFTWARE;
|
||||
}
|
||||
@@ -1426,7 +1452,7 @@ endtls(ssl, side)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
"STARTTLS=%s, SSL_shutdown not done",
|
||||
side);
|
||||
tlslogerr(side);
|
||||
tlslogerr(LOG_WARNING, side);
|
||||
}
|
||||
ret = EX_SOFTWARE;
|
||||
}
|
||||
@@ -1659,6 +1685,7 @@ tls_verify_cb(ctx, unused)
|
||||
** TLSLOGERR -- log the errors from the TLS error stack
|
||||
**
|
||||
** Parameters:
|
||||
** level -- syslog level
|
||||
** who -- server/client (for logging).
|
||||
**
|
||||
** Returns:
|
||||
@@ -1666,7 +1693,8 @@ tls_verify_cb(ctx, unused)
|
||||
*/
|
||||
|
||||
void
|
||||
tlslogerr(who)
|
||||
tlslogerr(level, who)
|
||||
int level;
|
||||
const char *who;
|
||||
{
|
||||
unsigned long l;
|
||||
@@ -1680,7 +1708,7 @@ tlslogerr(who)
|
||||
while ((l = ERR_get_error_line_data(CP &file, &line, CP &data, &flags))
|
||||
!= 0)
|
||||
{
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
sm_syslog(level, NOQID,
|
||||
"STARTTLS=%s: %lu:%s:%s:%d:%s", who, es,
|
||||
ERR_error_string(l, buf),
|
||||
file, line,
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: usersmtp.c,v 8.485 2010/07/23 21:09:38 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: usersmtp.c,v 8.486 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
#include <sysexits.h>
|
||||
|
||||
@@ -801,7 +801,7 @@ readauth(filename, safe, sai, rpool)
|
||||
|
||||
lc = 0;
|
||||
while (lc <= SASL_MECHLIST &&
|
||||
sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
if (buf[0] != '#')
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: util.c,v 8.425 2012/03/03 00:10:43 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: util.c,v 8.426 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
#include <sm/sendmail.h>
|
||||
#include <sysexits.h>
|
||||
@@ -1285,8 +1285,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
char *during;
|
||||
{
|
||||
register char *p;
|
||||
int save_errno;
|
||||
int io_timeout;
|
||||
int save_errno, io_timeout, l;
|
||||
|
||||
SM_REQUIRE(siz > 0);
|
||||
SM_REQUIRE(buf != NULL);
|
||||
@@ -1299,7 +1298,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
}
|
||||
|
||||
/* try to read */
|
||||
p = NULL;
|
||||
l = -1;
|
||||
errno = 0;
|
||||
|
||||
/* convert the timeout to sm_io notation */
|
||||
@@ -1307,8 +1306,8 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
while (!sm_io_eof(fp) && !sm_io_error(fp))
|
||||
{
|
||||
errno = 0;
|
||||
p = sm_io_fgets(fp, io_timeout, buf, siz);
|
||||
if (p == NULL && errno == EAGAIN)
|
||||
l = sm_io_fgets(fp, io_timeout, buf, siz);
|
||||
if (l < 0 && errno == EAGAIN)
|
||||
{
|
||||
/* The sm_io_fgets() call timedout */
|
||||
if (LogLevel > 1)
|
||||
@@ -1328,7 +1327,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
errno = ETIMEDOUT;
|
||||
return NULL;
|
||||
}
|
||||
if (p != NULL || errno != EINTR)
|
||||
if (l >= 0 || errno != EINTR)
|
||||
break;
|
||||
(void) sm_io_clearerr(fp);
|
||||
}
|
||||
@@ -1336,7 +1335,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
|
||||
/* clean up the books and exit */
|
||||
LineNumber++;
|
||||
if (p == NULL)
|
||||
if (l < 0)
|
||||
{
|
||||
buf[0] = '\0';
|
||||
if (TrafficLogFile != NULL)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -13,6 +13,6 @@
|
||||
|
||||
#include <sm/gen.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: version.c,v 8.235 2012/12/19 05:11:44 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: version.c,v 8.243 2013/04/18 15:07:17 ca Exp $")
|
||||
|
||||
char Version[] = "8.14.6";
|
||||
char Version[] = "8.14.7";
|
||||
@@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 1.4 2002/06/21 22:01:54 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 1.6 2013/04/01 21:04:29 ca Exp $
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
bldPRODUCT_START(`executable', `test')
|
||||
|
||||
@@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
The Regents of the University of California. All rights reserved.\n\
|
||||
Copyright (c) 1983 Eric P. Allman. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: vacation.c,v 8.146 2009/08/07 21:28:39 ca Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: vacation.c,v 8.147 2013/03/12 15:24:56 ca Exp $")
|
||||
|
||||
|
||||
#include <ctype.h>
|
||||
@@ -509,7 +509,7 @@ readheaders(alwaysrespond)
|
||||
|
||||
cont = false;
|
||||
tome = alwaysrespond;
|
||||
while (sm_io_fgets(smioin, SM_TIME_DEFAULT, buf, sizeof(buf)) &&
|
||||
while (sm_io_fgets(smioin, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0 &&
|
||||
*buf != '\n')
|
||||
{
|
||||
switch(*buf)
|
||||
@@ -954,7 +954,7 @@ xclude(f)
|
||||
|
||||
if (f == NULL)
|
||||
return;
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof buf))
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof buf) >= 0)
|
||||
{
|
||||
if ((p = strchr(buf, '\n')) != NULL)
|
||||
*p = '\0';
|
||||
@@ -1049,7 +1049,7 @@ sendmessage(myname, msgfn, sender)
|
||||
(void) sm_io_fprintf(sfp, SM_TIME_DEFAULT, "To: %s\n", From);
|
||||
(void) sm_io_fprintf(sfp, SM_TIME_DEFAULT,
|
||||
"Auto-Submitted: auto-replied\n");
|
||||
while (sm_io_fgets(mfp, SM_TIME_DEFAULT, buf, sizeof buf))
|
||||
while (sm_io_fgets(mfp, SM_TIME_DEFAULT, buf, sizeof buf) >= 0)
|
||||
(void) sm_io_fputs(sfp, SM_TIME_DEFAULT, buf);
|
||||
(void) sm_io_close(mfp, SM_TIME_DEFAULT);
|
||||
(void) sm_io_close(sfp, SM_TIME_DEFAULT);
|
||||
|
||||
@@ -50,8 +50,7 @@
|
||||
#PubkeyAuthentication yes
|
||||
|
||||
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
|
||||
# but this is overridden so installations will only check .ssh/authorized_keys
|
||||
AuthorizedKeysFile .ssh/authorized_keys
|
||||
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
|
||||
|
||||
#AuthorizedPrincipalsFile none
|
||||
|
||||
|
||||
@@ -330,8 +330,8 @@ dtls1_process_record(SSL *s)
|
||||
int i,al;
|
||||
int enc_err;
|
||||
SSL_SESSION *sess;
|
||||
SSL3_RECORD *rr;
|
||||
unsigned int mac_size;
|
||||
SSL3_RECORD *rr;
|
||||
unsigned int mac_size, orig_len;
|
||||
unsigned char md[EVP_MAX_MD_SIZE];
|
||||
|
||||
rr= &(s->s3->rrec);
|
||||
@@ -362,7 +362,7 @@ dtls1_process_record(SSL *s)
|
||||
|
||||
/* decrypt in place in 'rr->input' */
|
||||
rr->data=rr->input;
|
||||
rr->orig_len=rr->length;
|
||||
orig_len=rr->length;
|
||||
|
||||
enc_err = s->method->ssl3_enc->enc(s,0);
|
||||
/* enc_err is:
|
||||
@@ -399,10 +399,10 @@ printf("\n");
|
||||
* therefore we can safely process the record in a different
|
||||
* amount of time if it's too short to possibly contain a MAC.
|
||||
*/
|
||||
if (rr->orig_len < mac_size ||
|
||||
if (orig_len < mac_size ||
|
||||
/* CBC records must have a padding length byte too. */
|
||||
(EVP_CIPHER_CTX_mode(s->enc_read_ctx) == EVP_CIPH_CBC_MODE &&
|
||||
rr->orig_len < mac_size+1))
|
||||
orig_len < mac_size+1))
|
||||
{
|
||||
al=SSL_AD_DECODE_ERROR;
|
||||
SSLerr(SSL_F_DTLS1_PROCESS_RECORD,SSL_R_LENGTH_TOO_SHORT);
|
||||
@@ -417,12 +417,12 @@ printf("\n");
|
||||
* without leaking the contents of the padding bytes.
|
||||
* */
|
||||
mac = mac_tmp;
|
||||
ssl3_cbc_copy_mac(mac_tmp, rr, mac_size);
|
||||
ssl3_cbc_copy_mac(mac_tmp, rr, mac_size, orig_len);
|
||||
rr->length -= mac_size;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* In this case there's no padding, so |rec->orig_len|
|
||||
/* In this case there's no padding, so |orig_len|
|
||||
* equals |rec->length| and we checked that there's
|
||||
* enough bytes for |mac_size| above. */
|
||||
rr->length -= mac_size;
|
||||
|
||||
@@ -116,7 +116,9 @@ int ssl3_cbc_remove_padding(const SSL* s,
|
||||
good = constant_time_ge(rec->length, padding_length+overhead);
|
||||
/* SSLv3 requires that the padding is minimal. */
|
||||
good &= constant_time_ge(block_size, padding_length+1);
|
||||
rec->length -= good & (padding_length+1);
|
||||
padding_length = good & (padding_length+1);
|
||||
rec->length -= padding_length;
|
||||
rec->type |= padding_length<<8; /* kludge: pass padding length */
|
||||
return (int)((good & 1) | (~good & -1));
|
||||
}
|
||||
|
||||
@@ -202,7 +204,9 @@ int tls1_cbc_remove_padding(const SSL* s,
|
||||
good <<= sizeof(good)*8-1;
|
||||
good = DUPLICATE_MSB_TO_ALL(good);
|
||||
|
||||
rec->length -= good & (padding_length+1);
|
||||
padding_length = good & (padding_length+1);
|
||||
rec->length -= padding_length;
|
||||
rec->type |= padding_length<<8; /* kludge: pass padding length */
|
||||
|
||||
/* We can always safely skip the explicit IV. We check at the beginning
|
||||
* of this function that the record has at least enough space for the
|
||||
@@ -217,7 +221,6 @@ int tls1_cbc_remove_padding(const SSL* s,
|
||||
rec->data += block_size;
|
||||
rec->input += block_size;
|
||||
rec->length -= block_size;
|
||||
rec->orig_len -= block_size;
|
||||
}
|
||||
|
||||
return (int)((good & 1) | (~good & -1));
|
||||
@@ -245,7 +248,7 @@ int tls1_cbc_remove_padding(const SSL* s,
|
||||
*/
|
||||
void ssl3_cbc_copy_mac(unsigned char* out,
|
||||
const SSL3_RECORD *rec,
|
||||
unsigned md_size)
|
||||
unsigned md_size,unsigned orig_len)
|
||||
{
|
||||
#if defined(CBC_MAC_ROTATE_IN_PLACE)
|
||||
unsigned char rotated_mac_buf[EVP_MAX_MD_SIZE*2];
|
||||
@@ -264,7 +267,7 @@ void ssl3_cbc_copy_mac(unsigned char* out,
|
||||
unsigned div_spoiler;
|
||||
unsigned rotate_offset;
|
||||
|
||||
OPENSSL_assert(rec->orig_len >= md_size);
|
||||
OPENSSL_assert(orig_len >= md_size);
|
||||
OPENSSL_assert(md_size <= EVP_MAX_MD_SIZE);
|
||||
|
||||
#if defined(CBC_MAC_ROTATE_IN_PLACE)
|
||||
@@ -272,8 +275,8 @@ void ssl3_cbc_copy_mac(unsigned char* out,
|
||||
#endif
|
||||
|
||||
/* This information is public so it's safe to branch based on it. */
|
||||
if (rec->orig_len > md_size + 255 + 1)
|
||||
scan_start = rec->orig_len - (md_size + 255 + 1);
|
||||
if (orig_len > md_size + 255 + 1)
|
||||
scan_start = orig_len - (md_size + 255 + 1);
|
||||
/* div_spoiler contains a multiple of md_size that is used to cause the
|
||||
* modulo operation to be constant time. Without this, the time varies
|
||||
* based on the amount of padding when running on Intel chips at least.
|
||||
@@ -286,9 +289,9 @@ void ssl3_cbc_copy_mac(unsigned char* out,
|
||||
rotate_offset = (div_spoiler + mac_start - scan_start) % md_size;
|
||||
|
||||
memset(rotated_mac, 0, md_size);
|
||||
for (i = scan_start; i < rec->orig_len;)
|
||||
for (i = scan_start; i < orig_len;)
|
||||
{
|
||||
for (j = 0; j < md_size && i < rec->orig_len; i++, j++)
|
||||
for (j = 0; j < md_size && i < orig_len; i++, j++)
|
||||
{
|
||||
unsigned char mac_started = constant_time_ge(i, mac_start);
|
||||
unsigned char mac_ended = constant_time_ge(i, mac_end);
|
||||
|
||||
@@ -504,8 +504,6 @@ int ssl3_enc(SSL *s, int send)
|
||||
|
||||
EVP_Cipher(ds,rec->data,rec->input,l);
|
||||
|
||||
rec->orig_len = rec->length;
|
||||
|
||||
if (s->read_hash != NULL)
|
||||
mac_size = EVP_MD_size(s->read_hash);
|
||||
|
||||
@@ -587,7 +585,7 @@ int ssl3_mac(SSL *ssl, unsigned char *md, int send)
|
||||
EVP_MD_CTX md_ctx;
|
||||
const EVP_MD *hash;
|
||||
unsigned char *p,rec_char;
|
||||
size_t md_size;
|
||||
size_t md_size, orig_len;
|
||||
int npad;
|
||||
|
||||
if (send)
|
||||
@@ -608,6 +606,10 @@ int ssl3_mac(SSL *ssl, unsigned char *md, int send)
|
||||
md_size=EVP_MD_size(hash);
|
||||
npad=(48/md_size)*md_size;
|
||||
|
||||
/* kludge: ssl3_cbc_remove_padding passes padding length in rec->type */
|
||||
orig_len = rec->length+md_size+((unsigned int)rec->type>>8);
|
||||
rec->type &= 0xff;
|
||||
|
||||
if (!send &&
|
||||
EVP_CIPHER_CTX_mode(ssl->enc_read_ctx) == EVP_CIPH_CBC_MODE &&
|
||||
ssl3_cbc_record_digest_supported(hash))
|
||||
@@ -639,7 +641,7 @@ int ssl3_mac(SSL *ssl, unsigned char *md, int send)
|
||||
hash,
|
||||
md, &md_size,
|
||||
header, rec->input,
|
||||
rec->length + md_size, rec->orig_len,
|
||||
rec->length + md_size, orig_len,
|
||||
mac_sec, md_size,
|
||||
1 /* is SSLv3 */);
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ static int ssl3_get_record(SSL *s)
|
||||
unsigned char *p;
|
||||
unsigned char md[EVP_MAX_MD_SIZE];
|
||||
short version;
|
||||
unsigned mac_size;
|
||||
unsigned mac_size, orig_len;
|
||||
size_t extra;
|
||||
|
||||
rr= &(s->s3->rrec);
|
||||
@@ -351,7 +351,7 @@ again:
|
||||
|
||||
/* decrypt in place in 'rr->input' */
|
||||
rr->data=rr->input;
|
||||
rr->orig_len=rr->length;
|
||||
orig_len=rr->length;
|
||||
|
||||
enc_err = s->method->ssl3_enc->enc(s,0);
|
||||
/* enc_err is:
|
||||
@@ -387,10 +387,10 @@ printf("\n");
|
||||
* therefore we can safely process the record in a different
|
||||
* amount of time if it's too short to possibly contain a MAC.
|
||||
*/
|
||||
if (rr->orig_len < mac_size ||
|
||||
if (orig_len < mac_size ||
|
||||
/* CBC records must have a padding length byte too. */
|
||||
(EVP_CIPHER_CTX_mode(s->enc_read_ctx) == EVP_CIPH_CBC_MODE &&
|
||||
rr->orig_len < mac_size+1))
|
||||
orig_len < mac_size+1))
|
||||
{
|
||||
al=SSL_AD_DECODE_ERROR;
|
||||
SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_LENGTH_TOO_SHORT);
|
||||
@@ -405,12 +405,12 @@ printf("\n");
|
||||
* without leaking the contents of the padding bytes.
|
||||
* */
|
||||
mac = mac_tmp;
|
||||
ssl3_cbc_copy_mac(mac_tmp, rr, mac_size);
|
||||
ssl3_cbc_copy_mac(mac_tmp, rr, mac_size, orig_len);
|
||||
rr->length -= mac_size;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* In this case there's no padding, so |rec->orig_len|
|
||||
/* In this case there's no padding, so |orig_len|
|
||||
* equals |rec->length| and we checked that there's
|
||||
* enough bytes for |mac_size| above. */
|
||||
rr->length -= mac_size;
|
||||
|
||||
@@ -304,10 +304,6 @@ typedef struct ssl3_record_st
|
||||
/*r */ unsigned char *comp; /* only used with decompression - malloc()ed */
|
||||
/*r */ unsigned long epoch; /* epoch number, needed by DTLS1 */
|
||||
/*r */ PQ_64BIT seq_num; /* sequence number, needed by DTLS1 */
|
||||
/*rw*/ unsigned int orig_len; /* How many bytes were available before padding
|
||||
was removed? This is used to implement the
|
||||
MAC check in constant time for CBC records.
|
||||
*/
|
||||
} SSL3_RECORD;
|
||||
|
||||
typedef struct ssl3_buffer_st
|
||||
|
||||
@@ -1015,7 +1015,7 @@ int ssl_parse_clienthello_renegotiate_ext(SSL *s, unsigned char *d, int len,
|
||||
/* s3_cbc.c */
|
||||
void ssl3_cbc_copy_mac(unsigned char* out,
|
||||
const SSL3_RECORD *rec,
|
||||
unsigned md_size);
|
||||
unsigned md_size,unsigned orig_len);
|
||||
int ssl3_cbc_remove_padding(const SSL* s,
|
||||
SSL3_RECORD *rec,
|
||||
unsigned block_size,
|
||||
|
||||
@@ -689,7 +689,7 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send)
|
||||
SSL3_RECORD *rec;
|
||||
unsigned char *mac_sec,*seq;
|
||||
const EVP_MD *hash;
|
||||
size_t md_size;
|
||||
size_t md_size, orig_len;
|
||||
int i;
|
||||
HMAC_CTX hmac;
|
||||
unsigned char header[13];
|
||||
@@ -727,6 +727,10 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send)
|
||||
else
|
||||
memcpy(header, seq, 8);
|
||||
|
||||
/* kludge: tls1_cbc_remove_padding passes padding length in rec->type */
|
||||
orig_len = rec->length+md_size+((unsigned int)rec->type>>8);
|
||||
rec->type &= 0xff;
|
||||
|
||||
header[8]=rec->type;
|
||||
header[9]=(unsigned char)(ssl->version>>8);
|
||||
header[10]=(unsigned char)(ssl->version);
|
||||
@@ -745,7 +749,7 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send)
|
||||
hash,
|
||||
md, &md_size,
|
||||
header, rec->input,
|
||||
rec->length + md_size, rec->orig_len,
|
||||
rec->length + md_size, orig_len,
|
||||
ssl->s3->read_mac_secret,
|
||||
EVP_MD_size(ssl->read_hash),
|
||||
0 /* not SSLv3 */);
|
||||
@@ -764,7 +768,7 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send)
|
||||
ssl->enc_read_ctx,
|
||||
hash,
|
||||
&hmac, rec->input,
|
||||
rec->length, rec->orig_len);
|
||||
rec->length, orig_len);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ divert(-1)
|
||||
# The best documentation for this .mc file is:
|
||||
# /usr/share/sendmail/cf/README or
|
||||
# /usr/src/contrib/sendmail/cf/README
|
||||
#
|
||||
#
|
||||
|
||||
divert(0)
|
||||
VERSIONID(`$FreeBSD$')
|
||||
|
||||
@@ -9,7 +9,6 @@ divert(-1)
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
# This is the FreeBSD configuration for a set-group-ID sm-msp sendmail
|
||||
# that acts as a initial mail submission program.
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
.\" FreeBSD releases not found in doc-common
|
||||
.ds doc-operating-system-FreeBSD-7.4 7.4
|
||||
.ds doc-operating-system-FreeBSD-8.3 8.3
|
||||
.ds doc-operating-system-FreeBSD-8.4 8.4
|
||||
.ds doc-operating-system-FreeBSD-9.0 9.0
|
||||
.
|
||||
.\" Definitions not (yet) in doc-syms
|
||||
|
||||
@@ -315,10 +315,9 @@ srandomdev()
|
||||
|
||||
if (!done) {
|
||||
struct timeval tv;
|
||||
unsigned long junk;
|
||||
|
||||
gettimeofday(&tv, NULL);
|
||||
srandom((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec ^ junk);
|
||||
srandom((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+75
-72
@@ -135,9 +135,8 @@ static void unlink_object(Obj_Entry *);
|
||||
static void unload_object(Obj_Entry *);
|
||||
static void unref_dag(Obj_Entry *);
|
||||
static void ref_dag(Obj_Entry *);
|
||||
static int origin_subst_one(char **, const char *, const char *,
|
||||
const char *, char *);
|
||||
static char *origin_subst(const char *, const char *);
|
||||
static char *origin_subst_one(char *, const char *, const char *, bool);
|
||||
static char *origin_subst(char *, const char *);
|
||||
static int rtld_verify_versions(const Objlist *);
|
||||
static int rtld_verify_object_versions(Obj_Entry *);
|
||||
static void object_add_name(Obj_Entry *, const char *);
|
||||
@@ -661,79 +660,81 @@ basename(const char *name)
|
||||
|
||||
static struct utsname uts;
|
||||
|
||||
static int
|
||||
origin_subst_one(char **res, const char *real, const char *kw, const char *subst,
|
||||
char *may_free)
|
||||
static char *
|
||||
origin_subst_one(char *real, const char *kw, const char *subst,
|
||||
bool may_free)
|
||||
{
|
||||
const char *p, *p1;
|
||||
char *res1;
|
||||
int subst_len;
|
||||
int kw_len;
|
||||
char *p, *p1, *res, *resp;
|
||||
int subst_len, kw_len, subst_count, old_len, new_len;
|
||||
|
||||
res1 = *res = NULL;
|
||||
p = real;
|
||||
subst_len = kw_len = 0;
|
||||
for (;;) {
|
||||
p1 = strstr(p, kw);
|
||||
if (p1 != NULL) {
|
||||
if (subst_len == 0) {
|
||||
subst_len = strlen(subst);
|
||||
kw_len = strlen(kw);
|
||||
}
|
||||
if (*res == NULL) {
|
||||
*res = xmalloc(PATH_MAX);
|
||||
res1 = *res;
|
||||
}
|
||||
if ((res1 - *res) + subst_len + (p1 - p) >= PATH_MAX) {
|
||||
_rtld_error("Substitution of %s in %s cannot be performed",
|
||||
kw, real);
|
||||
if (may_free != NULL)
|
||||
free(may_free);
|
||||
free(res);
|
||||
return (false);
|
||||
}
|
||||
memcpy(res1, p, p1 - p);
|
||||
res1 += p1 - p;
|
||||
memcpy(res1, subst, subst_len);
|
||||
res1 += subst_len;
|
||||
p = p1 + kw_len;
|
||||
} else {
|
||||
if (*res == NULL) {
|
||||
if (may_free != NULL)
|
||||
*res = may_free;
|
||||
else
|
||||
*res = xstrdup(real);
|
||||
return (true);
|
||||
}
|
||||
*res1 = '\0';
|
||||
if (may_free != NULL)
|
||||
free(may_free);
|
||||
if (strlcat(res1, p, PATH_MAX - (res1 - *res)) >= PATH_MAX) {
|
||||
free(res);
|
||||
return (false);
|
||||
}
|
||||
return (true);
|
||||
}
|
||||
}
|
||||
kw_len = strlen(kw);
|
||||
|
||||
/*
|
||||
* First, count the number of the keyword occurences, to
|
||||
* preallocate the final string.
|
||||
*/
|
||||
for (p = real, subst_count = 0;; p = p1 + kw_len, subst_count++) {
|
||||
p1 = strstr(p, kw);
|
||||
if (p1 == NULL)
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the keyword is not found, just return.
|
||||
*/
|
||||
if (subst_count == 0)
|
||||
return (may_free ? real : xstrdup(real));
|
||||
|
||||
/*
|
||||
* There is indeed something to substitute. Calculate the
|
||||
* length of the resulting string, and allocate it.
|
||||
*/
|
||||
subst_len = strlen(subst);
|
||||
old_len = strlen(real);
|
||||
new_len = old_len + (subst_len - kw_len) * subst_count;
|
||||
res = xmalloc(new_len + 1);
|
||||
|
||||
/*
|
||||
* Now, execute the substitution loop.
|
||||
*/
|
||||
for (p = real, resp = res, *resp = '\0';;) {
|
||||
p1 = strstr(p, kw);
|
||||
if (p1 != NULL) {
|
||||
/* Copy the prefix before keyword. */
|
||||
memcpy(resp, p, p1 - p);
|
||||
resp += p1 - p;
|
||||
/* Keyword replacement. */
|
||||
memcpy(resp, subst, subst_len);
|
||||
resp += subst_len;
|
||||
*resp = '\0';
|
||||
p = p1 + kw_len;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
|
||||
/* Copy to the end of string and finish. */
|
||||
strcat(resp, p);
|
||||
if (may_free)
|
||||
free(real);
|
||||
return (res);
|
||||
}
|
||||
|
||||
static char *
|
||||
origin_subst(const char *real, const char *origin_path)
|
||||
origin_subst(char *real, const char *origin_path)
|
||||
{
|
||||
char *res1, *res2, *res3, *res4;
|
||||
char *res1, *res2, *res3, *res4;
|
||||
|
||||
if (uts.sysname[0] == '\0') {
|
||||
if (uname(&uts) != 0) {
|
||||
_rtld_error("utsname failed: %d", errno);
|
||||
return (NULL);
|
||||
if (uts.sysname[0] == '\0') {
|
||||
if (uname(&uts) != 0) {
|
||||
_rtld_error("utsname failed: %d", errno);
|
||||
return (NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!origin_subst_one(&res1, real, "$ORIGIN", origin_path, NULL) ||
|
||||
!origin_subst_one(&res2, res1, "$OSNAME", uts.sysname, res1) ||
|
||||
!origin_subst_one(&res3, res2, "$OSREL", uts.release, res2) ||
|
||||
!origin_subst_one(&res4, res3, "$PLATFORM", uts.machine, res3))
|
||||
return (NULL);
|
||||
return (res4);
|
||||
res1 = origin_subst_one(real, "$ORIGIN", origin_path, false);
|
||||
res2 = origin_subst_one(res1, "$OSNAME", uts.sysname, true);
|
||||
res3 = origin_subst_one(res2, "$OSREL", uts.release, true);
|
||||
res4 = origin_subst_one(res3, "$PLATFORM", uts.machine, true);
|
||||
return (res4);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1144,10 +1145,12 @@ find_library(const char *xname, const Obj_Entry *refobj)
|
||||
xname);
|
||||
return NULL;
|
||||
}
|
||||
if (refobj != NULL && refobj->z_origin)
|
||||
return origin_subst(xname, refobj->origin_path);
|
||||
else
|
||||
return xstrdup(xname);
|
||||
if (refobj != NULL && refobj->z_origin) {
|
||||
return (origin_subst(__DECONST(char *, xname),
|
||||
refobj->origin_path));
|
||||
} else {
|
||||
return (xstrdup(xname));
|
||||
}
|
||||
}
|
||||
|
||||
if (libmap_disable || (refobj == NULL) ||
|
||||
|
||||
+2
-2
@@ -33,7 +33,7 @@ BUILDNAME?=${BASE}-${DATE}-SNAP
|
||||
#
|
||||
#CHROOTDIR=/junk/release
|
||||
# If this is a -stable snapshot, then set
|
||||
#RELEASETAG=RELENG_8
|
||||
#RELEASETAG=RELENG_8_4
|
||||
#
|
||||
# To test a release with a source tree containing patches and
|
||||
# other work. This tree will get copied instead of getting the
|
||||
@@ -72,7 +72,7 @@ BUILDNAME?=${BASE}-${DATE}-SNAP
|
||||
#
|
||||
# Subversion branch to build for src. If this is not set then it is
|
||||
# automatically computed from RELEASETAG.
|
||||
#SVNBRANCH=stable/8
|
||||
#SVNBRANCH=releng/8.4
|
||||
#
|
||||
# Non-zero if ${RELEASETAG} is in the form "RELENG_ver_RELEASE"; we
|
||||
# are building an official release. Otherwise, we are building for
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/Makefile,v 1.4 2002/10/28 18:37:19 ue Exp $
|
||||
# basiert auf: 1.3
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/..
|
||||
|
||||
SUBDIR = relnotes
|
||||
SUBDIR+= hardware
|
||||
SUBDIR+= readme
|
||||
SUBDIR+= errata
|
||||
SUBDIR+= installation
|
||||
SUBDIR+= early-adopter
|
||||
|
||||
COMPAT_SYMLINK = de
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,23 +0,0 @@
|
||||
# The FreeBSD Documentation
|
||||
# The FreeBSD German Documentation Project
|
||||
#
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/early-adopter/Makefile,v 1.1 2002/10/28 18:37:20 ue Exp $
|
||||
# basiert auf: 1.3
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../..
|
||||
.ifdef NO_LANGCODE_IN_DESTDIR
|
||||
DESTDIR?= ${DOCDIR}/early-adopter
|
||||
.else
|
||||
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/early-adopter
|
||||
.endif
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?=gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS+= article.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,544 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
|
||||
<!ENTITY release.4x "4.<replaceable>X</replaceable>">
|
||||
<!ENTITY release.5x "5.<replaceable>X</replaceable>">
|
||||
]>
|
||||
|
||||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
The FreeBSD German Documentation Project
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/early-adopter/article.sgml,v 1.24 2003/05/25 12:44:41 mheinen Exp $
|
||||
basiert auf: 1.15
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
<articleinfo>
|
||||
<title>Hinweise für die ersten Anwender von &os;
|
||||
&release.current;</title>
|
||||
|
||||
<authorgroup>
|
||||
<corpauthor>The &os; Release Engineering Team</corpauthor>
|
||||
</authorgroup>
|
||||
|
||||
<pubdate>$FreeBSD$</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>2002</year>
|
||||
<year>2003</year>
|
||||
<holder role="mailto:[email protected]">The &os; Release
|
||||
Engineering Team</holder>
|
||||
</copyright>
|
||||
|
||||
<abstract>
|
||||
<para>Dieser Artikel enthält Informationen über den
|
||||
Status von &os; &release.current; für die Anwender, die
|
||||
bisher noch keine Erfahrung mit den &release.5x; Versionen
|
||||
oder &os; sammeln konnten. Er enthält einige
|
||||
Hintergrundinformationen über die vor und während
|
||||
einer Veröffentlichung ablaufende Prozesse, nennt die
|
||||
wichtigsten Neuerungen und die Stellen, an denen die ersten
|
||||
Anwender Probleme haben könnten. Weiterhin gibt es
|
||||
Informationen über die Pläne für weitere
|
||||
Veröffentlichungen im Entwicklungszweig 4-STABLE und
|
||||
ein paar Hinweise für die Aktualisierung bestehender
|
||||
Systeme.</para>
|
||||
</abstract>
|
||||
</articleinfo>
|
||||
|
||||
<sect1 id="intro">
|
||||
<title>Einführung</title>
|
||||
|
||||
<para>Nach über zwei Jahren steht mit &os; &release.5x;
|
||||
wieder eine komplett neue &os;-Version zur Verfügung. Sie
|
||||
bietet nicht nur diverse neue Möglichkeiten, auch und
|
||||
gerade <quote>unter der Haube</quote> hat sich einiges
|
||||
verbessert. Der Nachteil dieser Neuerungen ist, daß
|
||||
große Teile des Systems neu und nicht ausreichend getestet
|
||||
sind. Im Vergleich zu den existierenden &release.4x; Versionen
|
||||
kann der Schritt zu den ersten &release.5x; Versionen zu
|
||||
Verschlechterungen in den Bereichen Stabilität, Leistung
|
||||
und teilweise auch Funktionalität führen.</para>
|
||||
|
||||
<para>Aus diesen Gründen warnen wir alle Anwender, ihre
|
||||
Systeme nicht von älteren &os;-Versionen auf 5.0 zu
|
||||
aktualisieren, wenn sie die "Problemzonen" nicht kennen
|
||||
oder nicht bereit sind, die Einschränkungen in den neuesten
|
||||
Versionen in Kauf zu nehmen. Gerade konservative Anwender
|
||||
sollten in der nahen Zukunft &release.4x;-Versionen (wie
|
||||
4.8-RELEASE) benutzen. Wir meinen, daß diese Anwender
|
||||
erst zu &release.5x; wechseln sollten, nachdem der
|
||||
Entwicklungszweig 5-STABLE existiert; dies wird wahrscheinlich
|
||||
nach der Veröffentlichung von 5.2-RELEASE
|
||||
passieren.</para>
|
||||
|
||||
<para>Hier zeigt sich das <quote>Henne und Ei</quote> Problem bei
|
||||
der Veröffentlichung von &os; &release.5x;. Alle am &os;
|
||||
Project beteiligten Personen wollen ein &os;, das möglichst
|
||||
stabil und zuverlässig ist. Um dieses Ziel zu erreichen,
|
||||
müssen die neue Version und speziell die neuen Komponenten
|
||||
von möglichst vielen Anwendern getestet werden.
|
||||
Dummerweise gibt es bei realistischer Betrachtung nur eine
|
||||
Möglichkeit, eine größere Anzahl an Anwender
|
||||
für einen Test zu gewinnen: Die Veröffentlichung der
|
||||
zu testenden Version!</para>
|
||||
|
||||
<para>Dieser Artikel beschreibt einige der Probleme, die bei der
|
||||
Installation und Benutzung von &os; &release.current; auftreten
|
||||
können. Zuerst wird beschrieben, wie eine neue FreeBSD
|
||||
Version veröffentlicht wird. Dann werden die
|
||||
interessanteren Neuerungen in FreeBSD &release.current; und die
|
||||
Bereiche, in denen (gerade für unvorsichtige Anwender)
|
||||
Probleme auftreten können, vorgestellt. Anwender, die erst
|
||||
einmal bei Systemen auf Basis von 4-STABLE bleiben möchten,
|
||||
erhalten einen kurzen Ausblick auf die kurz- und mittelfristigen
|
||||
Planungen für diesen Entwicklungszweig. Zuletzt wird
|
||||
besprochen, was bei einer Aktualisierung eines existierenden
|
||||
&release.4x; Systems auf 5.0 beachtet werden muß.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-overview">
|
||||
<title>Veröffentlichung neuer &os;-Versionen</title>
|
||||
|
||||
<para>Das Prinzip der &os;-Entwicklung ist die Verwendung mehrerer
|
||||
Entwicklungszweige innerhalb eines <quote>CVS
|
||||
Repository</quote>. Der Hauptzweig wird <quote>CURRENT</quote>
|
||||
genannt und innerhalb des Repository mit dem symbolischen Namen
|
||||
<literal>HEAD</literal> referenziert. Neuerungen werden
|
||||
zunächst in diesen Zweig eingebracht. Das bedeutet zwar,
|
||||
daß neue Möglichkeiten zunächst einmal nur in
|
||||
CURRENT zur Verfügung stehen, es bedeutet allerdings auch,
|
||||
daß dieser Zweig von Zeit zu Zeit Kummer bereitet,
|
||||
während die Neuerungen getestet und ihre Fehler entfernt
|
||||
werden.</para>
|
||||
|
||||
<para>Wenn eine neue &os;-Version veröffentlicht wird,
|
||||
basiert diese in der Regel auf einem der <quote>STABLE</quote>
|
||||
(stabil) genannten Entwicklungszweige. Neuerungen werden nur in
|
||||
diese Entwicklungszweige übernommen, nachdem sie in CURRENT
|
||||
getestet wurden. Zur Zeit gibt es nur einen aktiven STABLE
|
||||
Entwicklungszweig: <quote>4-STABLE</quote>; dieser Zweig war
|
||||
die Grundlage für alle &release.4x; Versionen. Dieser
|
||||
Zweig wird innerhalb des CVS Repository durch den symbolischen
|
||||
Namen <literal>RELENG_4</literal> gekennzeichnet.</para>
|
||||
|
||||
<para>Die Basis für &os; 5.0 und 5.1 ist der
|
||||
Entwicklungszweig CURRENT. Damit wird zum ersten Mal nach
|
||||
über zwei Jahren eine neue Version auf Basis dieses
|
||||
Entwicklungszweiges erscheinen (die letzte war &os; 4.0, im
|
||||
März 2000).</para>
|
||||
|
||||
<para>Einige Zeit nach der Veröffentlichung von &os; 5.0 wird
|
||||
im &os; CVS Repository der Zweig <quote>5-STABLE</quote> mit dem
|
||||
symbolischen Namen <literal>RELENG_5</literal> erzeugt werden.
|
||||
Die letzten beiden Entwicklungszweige dieser Art (3-STABLE und
|
||||
4-STABLE) wurden unmittelbar nach der Veröffentlichung der
|
||||
jeweiligen <quote>Punkt Null</quote> Versionen (3.0 bzw. 4.0)
|
||||
erzeugt. Rückblickend müssen wir feststellen,
|
||||
daß dadurch in beiden Fällen nicht genug Zeit war, um
|
||||
CURRENT zu stabilisieren, bevor der neue Entwicklungszweig
|
||||
eingerichtet wurde. Dies führte zu unnötiger
|
||||
Mehrarbeit, da Fehlerkorrekturen von einem Zweig in den anderen
|
||||
Zweig übertragen werden mußten; außerdem kam
|
||||
es zu einigen Änderungen in der Architektur, die nicht in
|
||||
den jeweils anderen Zweig übernommen werden konnten.</para>
|
||||
|
||||
<para>Aus diesem Grund wird das Release Engineering Team den neuen
|
||||
5-STABLE Entwicklungszweig erst dann im CVS Repository
|
||||
einrichten, wenn eine solide Grundlage zur Verfügung steht.
|
||||
Es ist sehr wahrscheinlich, daß vorher mehrere
|
||||
&release.5x; Versionen erscheinen werden; zur Zeit rechnen wir
|
||||
damit, daß 5-STABLE nach dem Erscheinen von 5.2-RELEASE
|
||||
erzeugt werden wird.</para>
|
||||
|
||||
<para>Weitere Informationen über den Ablauf bei der
|
||||
Veröffentlichung einer neuen &os; Version finden Sie auf
|
||||
den <ulink
|
||||
url="http://www.FreeBSD.org/releng/index.html">Release
|
||||
Engineering Web pages</ulink> und im Artikel <ulink
|
||||
url="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/index.html">&os;
|
||||
Release Engineering</ulink>. Informationen über den
|
||||
geplanten Entwicklungszweig 5-STABLE finden Sie auf der <ulink
|
||||
url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/5-roadmap/index.html"><quote>The
|
||||
Roadmap for 5-STABLE</quote></ulink>.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="new">
|
||||
<title>Neuerungen</title>
|
||||
|
||||
<para>Die Glanzpunkte von &os; &release.5x; sind die vielen Neuerungen.
|
||||
Diese Neuerungen und die neue Funktionalität basieren zum
|
||||
größten Teil auf massiven Änderungen der
|
||||
Systemarchitektur, die nicht in den Entwicklungszweig 4-STABLE
|
||||
eingepflegt wurden. Viele in sich abgeschlossene
|
||||
Änderungen wie Treiber für neue Geräte oder neue
|
||||
Benutzerprogramme wurden dagegen schon nach 4-STABLE
|
||||
übernommen. Die folgende Liste enthält eine kurze
|
||||
Übersicht über die wichtigsten Neuerungen in &os;
|
||||
5.0:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>SMPng: Die <quote>nächste Generation</quote> der
|
||||
Unterstützung für Systeme mit mehreren Prozessoren
|
||||
(noch nicht abgeschlossen). Es ist jetzt möglich,
|
||||
daß mehrere Prozessoren gleichzeitig den Kernel
|
||||
nutzen.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>KSE: Die <quote>Kernel Scheduled Entities</quote>
|
||||
erlauben es einem Prozess, mehrere Threads auf Kernel-Ebene
|
||||
zu nutzen, analog zur Aktivierung via Scheduler. Die
|
||||
(experimentellen) Bibliotheken <filename>libkse</filename>
|
||||
und <filename>libthr</filename> erlauben auch normalen
|
||||
Programmen mit mehreren Threads, diese Erweiterung zu
|
||||
nutzen.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Neue Plattformen: Zusätzlich zu i386, pc98 und
|
||||
Alpha werden jetzt auch sparc64 und ia64 Systeme
|
||||
unterstützt.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>GCC: Der Compiler und die dazugehörigen Werkzeuge
|
||||
basieren jetzt auf GCC 3.2.2 und nicht mehr auf GCC
|
||||
2.95.<replaceable>X</replaceable>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>MAC: Unterstützung für erweiterbare
|
||||
<quote>Mandatory Access Control</quote> Regelwerke.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>GEOM: Ein flexibles Gerüst zur Manipulation von
|
||||
Daten beim Transfer von und zu Festplatten. Auf dieser
|
||||
Basis wurde ein experimentelles Modul zur
|
||||
Verschlüsselung des Festplatteninhaltes
|
||||
entwickelt.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>FFS: Das Dateisystem unterstützt jetzt
|
||||
Hintergrund-&man.fsck.8; (um das System nach einem Absturz
|
||||
schneller verfügbar zu machen) sowie
|
||||
<quote>Schnappschüsse</quote>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>UFS2: Dieses neue Dateisystem unterstützt
|
||||
größere Dateien und zusätzliche
|
||||
Dateiberechtigungen. &man.newfs.8; erzeugt jetzt
|
||||
standardmäßig UFS2 Dateisysteme und auf allen
|
||||
Plattformen außer PC98 gilt dies auch für
|
||||
Dateisysteme, die mit &man.sysinstall.8; erzeugt
|
||||
werden.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Cardbus: Cardbus wird jetzt unterstützt.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Eine ausführlichere Übersicht über die
|
||||
Neuerungen finden Sie in den <quote>Release Notes</quote>
|
||||
für &os; &release.prev; und &release.current;.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="drawbacks">
|
||||
<title>Nachteile für frühe Anwender</title>
|
||||
|
||||
<para>Ein Nachteil der Neuerungen in &os; &release.5x; ist,
|
||||
daß es in einigen Bereichen auf Grund der noch nicht
|
||||
abgeschlossenen Entwicklung zu Problemen oder zu unerwarteten
|
||||
Effekten kommen kann. Einige (aber nicht alle) der Problemzonen
|
||||
sind in der folgenden Liste zusammengefaßt:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Die Arbeit an diversen Neuerungen ist noch nicht
|
||||
abgeschlossen, dazu gehören unter anderem SMPng und
|
||||
KSE. Diese Erweiterungen sind zwar für Test- und
|
||||
Experimentalzwecke ausreichend stabil, aber unter
|
||||
Umständen nicht stabil genug für den
|
||||
Produktionsbetrieb.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Durch die Änderungen in den Datenstrukturen des
|
||||
Kernels und der Schnittstellen für Anwendungen und
|
||||
Programmierer (ABI/API), müssen Treiber anderer
|
||||
Hersteller angepaßt werden, damit sie korrekt mit &os;
|
||||
5.0 zusammenarbeiten. Es ist nicht ausgeschlossen,
|
||||
daß es bis zum Erscheinen des Entwicklungszweiges
|
||||
5-STABLE weitere kleinere Änderungen am ABI/API geben
|
||||
wird.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Einige Teile des &os; Basissystems wurden in die Ports
|
||||
Collection verschoben. Dazu gehören insbesondere
|
||||
<application>Perl</application>,
|
||||
<application>UUCP</application> und die meisten (nicht alle)
|
||||
Spiele. Diese Programme werden zwar weiterhin entwickelt
|
||||
und unterstützt, es kann aber verwirren, daß sie
|
||||
nicht mehr Teil des Basissystems sind.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Einige Teile des &os;-Basissystems wurden nicht mehr
|
||||
gepflegt, weil es nicht genügend Anwender und/oder
|
||||
Entwickler gab. Diese Teile mußten entfernt werden,
|
||||
dazu zählen unter anderem die Erzeugung von Programmen
|
||||
im Format a.out;, die XNS-Netzwerkprotokolle und der Treiber
|
||||
für den X-10 Controller.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Viele Ports und Packages, die mit &os; 4-STABLE noch
|
||||
korrekt liefen, können mit &os; 5.0 nicht genutzt oder
|
||||
nicht kompiliert werden. Der Grund ist in der Regel der
|
||||
neue Compiler oder die Aufräumarbeiten in den
|
||||
Header-Dateien.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Viele der Neuerungen in &os; &release.5x; wurden bisher
|
||||
nur auf relativ wenigen Systemen getestet. Viele dieser
|
||||
Neuerungen (wie SMPng) haben Auswirkungen auf große
|
||||
Bereiche des Kernels.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die Neuerungen in &os; 5.0 enthalten noch Routinen
|
||||
zur Unterstützung bei der Fehlersuche und Diagnose.
|
||||
Dadurch kann es dazu kommen, daß ein System mit
|
||||
&os; 5.0 langsamer ist als mit 4-STABLE.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Neuerungen werden erst in den Entwicklungszweig 4-STABLE
|
||||
übernommen, nachdem sie eine Zeit lang in -CURRENT
|
||||
<quote>gereift</quote> sind. Bei &os; 5.0 fehlt dieser
|
||||
stabilisierende Effekt eines -STABLE Entwicklungszweiges.
|
||||
Der Entwicklungszweig 5-STABLE wird wahrscheinlich erst
|
||||
einige Zeit nach der Veröffentlichung von 5.2-RELEASE
|
||||
eingerichtet werden.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die Dokumentation (wie z.B. das &os; <ulink
|
||||
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/handbook/index.html">Handbuch</ulink>
|
||||
und der <ulink
|
||||
url="http://www.FreeBSD.org/doc/de_DE.ISO8859-1/books/faq/index.html">FAQ</ulink>)
|
||||
ist teilweise noch nicht auf dem Stand von
|
||||
&os; &release.5x;.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Da einige dieser Probleme auch negative Auswirkungen auf die
|
||||
Stabilität des Systems haben, rät das Release
|
||||
Engineering Team konservativen Anwendern und Firmen, Versionen
|
||||
aus dem Entwicklungszweig 4-STABLE zu verwenden, bis die
|
||||
&release.5x; Versionen zuverlässiger
|
||||
geworden sind.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="plans-stable">
|
||||
<title>Die Zukunft des Entwicklungszweiges 4-STABLE</title>
|
||||
|
||||
<para>Die Veröffentlichung von &os; 5.0 bedeutete nicht das
|
||||
Ende des Entwicklungszweiges 4-STABLE: &os; 4.8 erschien im
|
||||
April 2003, zwei Monate nach der Veröffentlichung von &os;
|
||||
5.0. Es wird wahrscheinlich noch eine weitere Version auf der
|
||||
Basis dieses Entwicklungszweiges geben: Das für den Sommer
|
||||
2003 geplante 4.9-RELEASE. Auch eine Version 4.10 liegt im
|
||||
Bereich des Möglichen. Dies hängt von mehreren
|
||||
Faktoren ab, der wichtigste davon ist die Existenz und
|
||||
Stabilität des Entwicklungszweiges 5-STABLE. Wenn CURRENT
|
||||
nicht stabil genug ist, um einen Entwicklungszweig 5-STABLE zu
|
||||
rechtfertigen, werden weitere Versionen auf Basis des
|
||||
Entwicklungszweiges 4-STABLE möglich und notwendig sein.
|
||||
Bis zum Erscheinen der offiziell letzten Version auf Basis von
|
||||
4-STABLE bleibt es den Entwicklern überlassen, ob sie
|
||||
Neuerungen aus <literal>HEAD</literal> in 4-STABLE einpflegen
|
||||
(im Rahmen der schon bestehenden Regelungen).</para>
|
||||
|
||||
<para>Bis zu einem gewissen Grad werden das Release Engineering
|
||||
Team und die Entwickler auch die Wünsche der Benutzer nach
|
||||
weiteren Versionen auf Basis von 4-STABLE beachten. Allerdings
|
||||
nur, so weit dies im Rahmen der beschränkten Ressourcen
|
||||
möglich ist.</para>
|
||||
|
||||
<para>Neue Versionen auf Basis des Entwicklungszweiges 4-STABLE
|
||||
werden vom &a.security-officer; im üblichen Rahmen
|
||||
unterstützt werden, genauere Informationen dazu finden Sie
|
||||
auf der <ulink
|
||||
url="http://www.FreeBSD.org/security/index.html">Security
|
||||
page</ulink> auf der &os; Webseite. In der Regel werden die
|
||||
letzten beiden Versionen jedes Entwicklungszweiges durch die
|
||||
Veröffentlichung von Sicherheitshinweisen und Patches
|
||||
unterstützt; dem Team ist es allerdings freigestellt, diese
|
||||
Unterstützung auf weitere Versionen oder spezielle Probleme
|
||||
auszudehnen.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="upgrade">
|
||||
<title>Hinweise für die Aktualisierung von &os; &release.4x;</title>
|
||||
|
||||
<para>Dieses Kapitel enthält Hinweise für Anwender, die
|
||||
ihr bestehendes &os; &release.4x; System auf &os; &release.5x;
|
||||
aktualisieren wollen. Wie bei jeder Aktualisierung ist es auf
|
||||
jeden Fall notwendig, vorher die Release Notes und die Errata der
|
||||
neuen Version zu lesen; bei Aktualisierung über den
|
||||
Quellcode ist <filename>src/UPDATING</filename>
|
||||
Pflichtlektüre.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Aktualisierung ohne Quellcode</title>
|
||||
|
||||
<para>Der einfachste Ansatz ist immer noch
|
||||
<quote>Sicherheitskopien erstellen, Platte formatieren, neues
|
||||
System installieren, Daten wieder einspielen</quote>. Dadurch
|
||||
werden alle Probleme mit veralteten und nicht kompatiblen
|
||||
Programmen und Konfigurationsdateien umgangen. Die neuen
|
||||
Dateisysteme können maximalen Nutzen aus den diversen
|
||||
Neuerungen (speziell UFS2) ziehen.</para>
|
||||
|
||||
<para>Zum gegenwärtigen Zeitpunkt hat noch niemand
|
||||
ausführlich getestet, ob und wie gut die
|
||||
<quote>Upgrade</quote>-Option in &man.sysinstall.8; bei einem
|
||||
Update von 4.0 zu 5.0 funktioniert. Wir raten daher dringend
|
||||
von der Verwendung dieser Funktion ab. Eines der
|
||||
Hauptprobleme ist, daß bei dieser Variante diverse
|
||||
Dateien nicht gelöscht werden, die zwar von &release.4x;
|
||||
genutzt wurden, aber in &release.5x; nicht mehr vorhanden
|
||||
sind. Diese Altlasten können zu Problemen
|
||||
führen.</para>
|
||||
|
||||
<para>Auf i386 und pc98 Systemen kann die Konfiguration von ISA
|
||||
Geräten beim Systemstart mit dem Werkzeug UserConfig
|
||||
eingestellt werden, dies gilt auch beim Start von einem
|
||||
Installations-Medium. Dieses Programm wurde in &os; 5.0 durch
|
||||
&man.device.hints.5; ersetzt; dieses stellt zwar die gleiche
|
||||
Funktionalität bereit, ist aber von der Bedienung her
|
||||
völlig verschieden.</para>
|
||||
|
||||
<para>Bei einer Installation von Diskette kann es notwendig
|
||||
werden, die neue Treiber-Diskette zu benutzen. Das
|
||||
<filename>drivers.flp</filename> Diskettenimage sollte im
|
||||
allgemeinen überall dort verfügbar sein, wo auch
|
||||
schon die bekannten <filename>kern.flp</filename> und
|
||||
<filename>mfsroot.flp</filename> verfügbar sind.</para>
|
||||
|
||||
<para>Bei einer Installation von CD-ROM auf einem i386-System
|
||||
wird jetzt ein neues Startprogramm mit dem Namen
|
||||
<quote>no-emulation boot loader</quote> genutzt. Dadurch ist
|
||||
es unter anderem möglich, auf der CD den Standardkernel
|
||||
(<literal>GENERIC</literal>) statt des auf den Disketten
|
||||
verwendeten Mini-Kernels zu nutzen. Jedes System, das von den
|
||||
Installations-CDs für Windows NT 4.0 booten kann, sollte
|
||||
auch mit den &os; &release.5x; CD-ROMs zurechtkommen.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Aktualisierung mit Quellcode</title>
|
||||
|
||||
<para>Es ist auf jeden Fall erforderlich, vor der Aktualisierung
|
||||
<filename>src/UPDATING</filename> zu lesen. Der Abschnitt
|
||||
<quote>To upgrade from 4.x-stable to current</quote>
|
||||
enthält eine Schritt-für-Schritt Anleitung, der Sie
|
||||
unbedingt folgen müssen, die Nutzung der üblichen
|
||||
<quote>Abkürzungen</quote> ist nicht
|
||||
möglich.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Allgemeine Hinweise</title>
|
||||
|
||||
<para><application>Perl</application> wurde aus dem Basissystem
|
||||
entfernt und sollte entweder als Package oder über die
|
||||
Ports Collection installiert werden. Die bisher übliche
|
||||
Praxis, Perl als Teil des Basissystems zu behandeln und mit ihm
|
||||
zusammen zu kompilieren, führte zu diversen Problemen,
|
||||
die eine Aktualisierung von Perl erschwerten. Die im
|
||||
Standardsystem vorhandenen Programme, die Perl
|
||||
benötigten, wurden entweder in einer anderen Sprache neu
|
||||
geschrieben (wenn sie noch benötigt wurden) oder
|
||||
ersatzlos entfernt (wenn sie überflüssig waren). Da
|
||||
&man.sysinstall.8; das Perl Package bei den meisten
|
||||
Distributionen automatisch mit installiert, sollte diese
|
||||
Änderung kaum Auswirkungen auf die Anwender
|
||||
haben.</para>
|
||||
|
||||
<para>Einige Scripte verlassen sich darauf, daß der
|
||||
Perl-Interpreter als <filename>/usr/bin/perl</filename>
|
||||
verfügbar ist. Der Perl Port enthält das Programm
|
||||
<filename>use.perl</filename>, mit dem ein passender Satz
|
||||
symbolischer Links für diese Scripte erzeugt werden kann.
|
||||
Nach dem Aufruf von <command>use.perl port</command> sollte
|
||||
alles wie erwartet funktionieren.</para>
|
||||
|
||||
<para>Es ist zwar möglich, für &release.4x;
|
||||
geschriebene Programme unter &release.5x; zu nutzen,
|
||||
allerdings muß dazu die Distribution
|
||||
<filename>compat4x</filename> installiert sein. Damit
|
||||
<emphasis>könnte</emphasis> es auch möglich sein,
|
||||
alte Ports zu benutzen.</para>
|
||||
|
||||
<para>Bei der Aktualisierung eines bestehenden Systems auf Basis
|
||||
von 4-STABLE, ist es unbedingt notwendig, die alten Dateien in
|
||||
<filename>/usr/include</filename> zu löschen. Im
|
||||
allgemeinen ist es ausreichend, dieses Verzeichnis vor der
|
||||
Installation bzw. vor dem
|
||||
<maketarget>installworld</maketarget> zu entfernen. Wird das
|
||||
Verzeichnis nicht entfernt, kann es zu Problemen kommen
|
||||
(speziell mit C++-Programmen), da der Compiler dann einen Mix
|
||||
aus alten und neuen Headerdateien verwendet.</para>
|
||||
|
||||
<para>Es gibt kein <filename>MAKEDEV</filename> mehr, weil es
|
||||
nicht mehr benötigt wird. &os; &release.5x; benutzt ein
|
||||
spezielles Dateisystem für Geräte, das die
|
||||
entsprechenden Device Nodes bei Bedarf automatisch erzeugt.
|
||||
Weitere Informationen finden Sie in &man.devfs.5;.</para>
|
||||
|
||||
<para>Alle mit &man.newfs.8; erzeugten Dateisysteme werden
|
||||
standardmäßig im Format UFS2 angelegt. Diese gilt
|
||||
auf allen Plattformen außer PC98 auch für
|
||||
Dateisysteme, die mit &man.sysinstall.8; erzeugt werden. Da
|
||||
&os; &release.4x; nur UFS1 lesen kann, müssen alle
|
||||
Dateisysteme, die sowohl mit &release.4x; als auch mit
|
||||
&release.5x; nutzbar sein sollen, im Format UFS1 erzeugt
|
||||
werden. Dieser Fall tritt typischerweise auf Systemen auf,
|
||||
auf denen &release.4x; und &release.5x; installiert und
|
||||
abwechselnd betrieben werden. In &man.newfs.8; steht dazu die
|
||||
Option <option>-O1</option> zur Verfügung, auch
|
||||
&man.sysinstall.8; enthält eine entsprechende Option.
|
||||
Bitte beachten Sie, daß es kein Konvertierungsprogramm
|
||||
zur Umwandlung von UFS1 nach UFS2 (oder umgekehrt) gibt, nur
|
||||
die Variante Backup, Formatieren, Restore.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="summary">
|
||||
<title>Zusammenfassung</title>
|
||||
|
||||
<para>&os; &release.current; enthält zwar viele interessante
|
||||
Neuerungen, aber es ist noch nicht für alle Anwender
|
||||
geeignet. Aus diesem Grund haben wir in diesem Dokument
|
||||
Informationen über die Abläufe bei der
|
||||
Veröffentlichung einer neuen Version, die interessantesten
|
||||
Neuerungen in den &release.5x; Versionen und wahrscheinliche
|
||||
Probleme gegeben. Weiterhin enthielt er einen Ausblick auf die
|
||||
Zukunft des Entwicklungszweiges 4-STABLE und Informationen
|
||||
für Anwender, die schon jetzt umsteigen wollen.</para>
|
||||
</sect1>
|
||||
</article>
|
||||
@@ -1,22 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/errata/Makefile,v 1.4 2002/03/10 18:26:34 ue Exp $
|
||||
# $Id: Makefile,v 1.5 2002/03/10 16:39:26 ue Exp $
|
||||
# basiert auf: 1.5
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../..
|
||||
.ifdef NO_LANGCODE_IN_DESTDIR
|
||||
DESTDIR?= ${DOCDIR}/errata
|
||||
.else
|
||||
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/errata
|
||||
.endif
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,406 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
]>
|
||||
|
||||
<!--
|
||||
FreeBSD errata document. Unlike some of the other RELNOTESng
|
||||
files, this file should remain as a single SGML file, so that
|
||||
the dollar FreeBSD dollar header has a meaningful modification
|
||||
time. This file is all but useless without a datestamp on it,
|
||||
so we'll take some extra care to make sure it has one.
|
||||
|
||||
(If we didn't do this, then the file with the datestamp might
|
||||
not be the one that received the last change in the document.)
|
||||
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/errata/article.sgml,v 1.39 2003/05/24 13:23:46 ue Exp $
|
||||
basiert auf: 1.38
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
<articleinfo>
|
||||
|
||||
<title>&os;
|
||||
<![ %release.type.snapshot [
|
||||
&release.prev;
|
||||
]]>
|
||||
<![ %release.type.release [
|
||||
&release.current;
|
||||
]]>
|
||||
Errata</title>
|
||||
|
||||
<authorgroup>
|
||||
<corpauthor>Das &os; Projekt</corpauthor>
|
||||
</authorgroup>
|
||||
|
||||
<pubdate>$FreeBSD$</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>2000</year>
|
||||
<year>2001</year>
|
||||
<year>2002</year>
|
||||
<year>2003</year>
|
||||
<holder role="mailto:[email protected]">The FreeBSD Documentation Project</holder>
|
||||
</copyright>
|
||||
|
||||
<copyright>
|
||||
<year>2001</year>
|
||||
<year>2002</year>
|
||||
<year>2003</year>
|
||||
<holder role="mailto:[email protected]">The FreeBSD German Documentation Project</holder>
|
||||
</copyright>
|
||||
</articleinfo>
|
||||
|
||||
<abstract>
|
||||
<para>Dieses Dokument enthält die Errata für &os;
|
||||
<![ %release.type.current [
|
||||
&release.prev;,
|
||||
]]>
|
||||
<![ %release.type.snapshot [
|
||||
&release.prev;,
|
||||
]]>
|
||||
<![ %release.type.release [
|
||||
&release.current;,
|
||||
]]>
|
||||
also wichtige Informationen, die kurz vor bzw. erst nach
|
||||
der Veröffentlichung bekannt wurden. Dazu gehören
|
||||
Ratschläge zur Sicherheit sowie Änderungen in der
|
||||
Software oder Dokumentation, welche die Stabilität und die
|
||||
Nutzung beeinträchtigen könnten. Sie sollten immer
|
||||
die aktuelle Version dieses Dokumentes lesen, bevor sie diese
|
||||
Version von &os; installieren.</para>
|
||||
|
||||
<para>Diese Errata für &os;
|
||||
<![ %release.type.current [
|
||||
&release.prev;
|
||||
]]>
|
||||
<![ %release.type.snapshot [
|
||||
&release.prev;
|
||||
]]>
|
||||
<![ %release.type.release [
|
||||
&release.current;
|
||||
]]>
|
||||
werden bis zum
|
||||
Erscheinen von &os; 5.1-RELEASE weiter aktualisiert
|
||||
werden.</para>
|
||||
</abstract>
|
||||
|
||||
<sect1 id="intro">
|
||||
<title>Einleitung</title>
|
||||
|
||||
<para>Diese Errata enthalten <quote>brandheiße</quote>
|
||||
Informationen über &os;
|
||||
<![ %release.type.current [
|
||||
&release.prev;.
|
||||
]]>
|
||||
<![ %release.type.snapshot [
|
||||
&release.prev;.
|
||||
]]>
|
||||
<![ %release.type.release [
|
||||
&release.current;.
|
||||
]]>
|
||||
Bevor Sie diese
|
||||
Version installieren, sollten Sie auf jeden Fall dieses Dokument
|
||||
lesen, um über Probleme informiert zu werden, die erst nach
|
||||
der Veröffentlichung entdeckt (und vielleicht auch schon
|
||||
behoben) wurden.</para>
|
||||
|
||||
<para>Die zusammen mit der Veröffentlichung erschienene
|
||||
Version dieses Dokumentes (zum Beispiel die Version auf der
|
||||
CDROM) ist per Definition veraltet. Allerdings sind im Internet
|
||||
aktualisierte Versionen verfügbar, die die <quote>aktuellen
|
||||
Errata</quote> für diese Version sind. Diese Versionen
|
||||
sind bei <ulink url="http://www.FreeBSD.org/releases/"></ulink>
|
||||
und allen aktuellen Mirrors dieser Webseite
|
||||
verfügbar.</para>
|
||||
|
||||
<para>Die Snapshots von &os; &release.branch; (sowohl die der
|
||||
Quelltexte als auch die der ausführbaren Programme)
|
||||
enthalten ebenfalls die zum Zeitpunkt ihrer
|
||||
Veröffentlichung aktuelle Version dieses
|
||||
Dokumentes.</para>
|
||||
|
||||
<para>Die Liste der &os; CERT security advisories finden Sie bei
|
||||
<ulink url="http://www.FreeBSD.org/security/"></ulink> oder
|
||||
<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/"></ulink>.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="security">
|
||||
<title>Sicherheitshinweise</title>
|
||||
|
||||
<para>Ein über das Netzwerk nutzbarer Fehler in
|
||||
<application>CVS</application> könnte dazu führen,
|
||||
daß ein Angreifer beliebige Programme auf dem CVS Server
|
||||
ausführen kann. Weitere Informationen finden Sie in <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:01.cvs.asc">FreeBSD-SA-03:01</ulink>.</para>
|
||||
|
||||
<para>Durch Auswertung der Antwortzeiten von
|
||||
<application>OpenSSL</application> wäre es einem Angreifer
|
||||
mit sehr viel Rechenleistung möglich gewesen, unter
|
||||
bestimmten Umständen den Klartext der übermittelten
|
||||
Daten zu erhalten. Dieser Fehler wurde in &os;
|
||||
&release.current; durch die neue
|
||||
<application>OpenSSL</application> Version 0.9.7 behoben. Auf
|
||||
den für Sicherheitsprobleme unterstützten
|
||||
Entwicklungszweigen wurde der Fehler durch die neue
|
||||
<application>OpenSSL</application> Version 0.9.6i behoben.
|
||||
Weitere Informationen finden Sie in <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:02.openssl.asc">FreeBSD-SA-03:02</ulink></para>
|
||||
|
||||
<para>Es ist theoretisch möglich, daß ein Angreifer den
|
||||
geheimen Schlüssel ermittelt, der von der Erweiterung
|
||||
<quote>syncookies</quote> genutzt wird. Dadurch sinkt deren
|
||||
Effektivität beim Schutz vor TCP SYN Flood
|
||||
Denial-of-Service Angriffen. Hinweise, wie sie das Problem
|
||||
umgehen können und weitere Informationen finden Sie in
|
||||
<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:03.syncookies.asc">FreeBSD-SA-03:03</ulink>.</para>
|
||||
|
||||
<para>Durch diverse Puffer-Überläufe in den von
|
||||
<application>sendmail</application> genutzten Routinen zum
|
||||
Parsen des Headers war es einen Angreifer möglich, eine
|
||||
speziell konstruierte Nachricht an &man.sendmail.8; zu senden
|
||||
und so beliebige Programme ausführen zu lassen. Diese
|
||||
Programme verfügten über die Rechte des Benutzers,
|
||||
unter dessen Kennung &man.sendmail.8; lief, also typischerweise
|
||||
<username>root</username>. Weitere Informationen und Verweise
|
||||
auf Patches finden Sie in <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:04.sendmail.asc">FreeBSD-SA-03:04</ulink>
|
||||
und <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:07.sendmail.asc">FreeBSD-SA-03:07</ulink>.</para>
|
||||
|
||||
<para>Durch einen Puffer-Überlauf im XDR Kodierer/Dekodierer
|
||||
war es einem Angreifer möglich, den Service zum Absturz zu
|
||||
bringen. Informationen, wie Sie den Fehler beheben, finden Sie
|
||||
in <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:05.xdr.asc">FreeBSD-SA-03:05</ulink>.</para>
|
||||
|
||||
<para><application>OpenSSL</application> enthält zwei
|
||||
Schwachstellen, die erst vor kurzer Zeit bekannt gemacht wurden.
|
||||
Informationen, wie Sie die Probleme umgehen können und
|
||||
weitere Informationen finden Sie in <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:06.openssl.asc">FreeBSD-SA-03:06</ulink>.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="late-news">
|
||||
<title>Aktuelle Informationen</title>
|
||||
|
||||
<bridgehead renderas="sect3">GEOM</bridgehead>
|
||||
|
||||
<para>Die auf &man.geom.4; basierenden Routinen des Kernel zur
|
||||
Partitionierung erlauben es nicht, eine aktive Partition zu
|
||||
überschreiben. Mit anderen Worten, es ist in der Regel
|
||||
nicht möglich, den Bootsektor einer Festplatte mit
|
||||
<command>disklabel -B</command> zu aktualisieren, da die
|
||||
Partition <literal>a</literal> auch den Bereich enthält, in
|
||||
dem die Bootsektoren gespeichert sind. Um dieses Problem zu
|
||||
umgehen, sollten Sie von einer anderen Platte, einer CD oder der
|
||||
Fixit-Diskette booten.</para>
|
||||
|
||||
<bridgehead renderas="sect3">&man.dump.8;</bridgehead>
|
||||
|
||||
<para>Werden Festplatten und ähnliche Medien mit einer
|
||||
Blockgröße von mehr als 512 Byte benutzt (zum
|
||||
Beispiel mit &man.geom.4; verschlüsselte Partitionen),
|
||||
behandelt &man.dump.8; die größeren Sektoren nicht
|
||||
korrekt und kann daher das Dateisystem nicht dumpen. Eine
|
||||
Möglichkeit, das Problem zu umgehen, ist die Erzeugung einer
|
||||
<quote>rohen</quote> Kopie des gesamten Dateisystems, die dann
|
||||
als Eingabedatei für &man.dump.8; dient. Es ist
|
||||
möglich, ein komplettes Dateisystem in einer normalen Datei
|
||||
zu speichern:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>dd if=/dev/ad0s1d.bde of=/junk/ad0.dd bs=1m</userinput>
|
||||
&prompt.root; <userinput>dump 0f - /junk/ad0.dd | ...</userinput></screen>
|
||||
|
||||
<para>Eine etwas einfachere Lösung ist, &man.tar.1; oder
|
||||
&man.cpio.1; zur Erzeugung des Backups zu verwende.</para>
|
||||
|
||||
<bridgehead renderas="sect3">&man.mly.4;</bridgehead>
|
||||
|
||||
<para>Es gibt Berichte, daß sich Systeme bei der
|
||||
Installation von &os; 5.0 Snapshots auf RAIDs an
|
||||
&man.mly.4;-kompatiblen Controller aufgehängt haben, obwohl
|
||||
die Systeme problemlos mit 4.7-RELEASE zusammenarbeiten. Dieser
|
||||
Fehler wurde in &os; &release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">NETNCP/Unterstützung des
|
||||
Dateisystems</bridgehead>
|
||||
|
||||
<para>NETNCP und nwfs sind offenbar noch nicht an KSE
|
||||
angepaßt worden und funktionieren daher nicht. Dieser
|
||||
Fehler wurde in &os; &release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">&man.iir.4; Controller</bridgehead>
|
||||
|
||||
<para>Bei der Installation scheinen &man.iir.4;-Controller korrekt
|
||||
erkannt zu werden, allerdings finden Sie keine der
|
||||
angeschlossenen Festplatten.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Timing-Probleme in
|
||||
&man.truss.1;</bridgehead>
|
||||
|
||||
<para>Es scheint ein Timing-Problem beim Start des Debuggings mit
|
||||
&man.truss.1; zu geben, durch das &man.truss.1; manchmal nicht
|
||||
in der Lage ist, eine Verbindung zu einem Prozeß
|
||||
aufzubauen, bevor er gestartet wird. In diesem Fall meldet
|
||||
&man.truss.1;, daß es die &man.procfs.5; Node für den
|
||||
zu debuggenden Prozeß nicht öffnen kann. Es scheint
|
||||
einen weiteren Fehler zu geben, durch den &man.truss.1; sich
|
||||
aufhängt, wenn &man.execve.2; den Wert
|
||||
<literal>ENOENT</literal> zurückgibt. Ein weiteres
|
||||
Timing-Problem führt dazu, daß &man.truss.1; beim
|
||||
Start manchmal <errorname>PIOCWAIT: Input/output
|
||||
error</errorname> meldet. Es existieren zwar Korrekturen
|
||||
für diese Probleme, da diese aber zu sehr in die Routinen
|
||||
zur Ausführung von Prozessen eingreifen, werden sie erst
|
||||
nach dem Erscheinen von 5.0 ins System aufgenommen.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Partitionierung von Festplatten durch
|
||||
das Installationsprogramm</bridgehead>
|
||||
|
||||
<para>Es gibt einige Meldungen über Fehler bei der
|
||||
Partitionierung von Festplatten mit &man.sysinstall.8;. Eines
|
||||
der Probleme ist, daß &man.sysinstall.8; den freien Platz
|
||||
auf einer Festplatten nicht neu berechnen kann, nachdem der Typ
|
||||
einer FDISK-Partition geändert wurde.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Veraltete Dokumentation</bridgehead>
|
||||
|
||||
<para>In einigen Fällen wurde die Dokumentation (wie zum
|
||||
Beispiel die FAQ und das Handbuch) nicht aktualisiert und geht
|
||||
nicht auf die Neuerungen in &os; &release.prev; ein. Zum
|
||||
Beispiel fehlt noch Dokumentation zu &man.gbde.8; und den neuen
|
||||
<quote>fast IPsec</quote> Routinen.</para>
|
||||
|
||||
<bridgehead renderas="sect3">SMB Dateisystem</bridgehead>
|
||||
|
||||
<para>Ab und zu kommt beim Versuch, die Verbindung zu einem SMBFS
|
||||
Share zu trennen, die Meldung <errorname>Device
|
||||
busy</errorname>, obwohl das Share nicht benutzt wird. Die
|
||||
einzige Lösung für dieses Problem ist, die Operation
|
||||
so lange zu wiederholen, bis die Verbindung getrennt wird.
|
||||
Dieser Fehler wurde in &release.current; bereits behoben.</para>
|
||||
|
||||
<para>Der Versuch, die Trennung der Verbindung zu einem SMBFS
|
||||
Share mit <command>umount -f</command> zu erzwingen, kann zu
|
||||
einer Kernel Panic führen. Dieser Fehler wurde in
|
||||
&release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">&man.fstat.2;</bridgehead>
|
||||
|
||||
<para>Wird &man.fstat.2; auf einen Socket angewendet, für den
|
||||
bereits eine Verbindung besteht, sollte es die Anzahl der zum
|
||||
Lesen verfügbaren Zeichen in dem Feld
|
||||
<varname>st_size</varname> der Struktur <varname>struct
|
||||
stat</varname> zurückgeben. Leider wird bei TCP Sockets immer ein
|
||||
<varname>st_size</varname> von <literal>0</literal> gemeldet.
|
||||
Dieser Fehler wurde in &release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Kernel Event Queues</bridgehead>
|
||||
|
||||
<para>Der zu &man.kqueue.2; gehörende Filter
|
||||
<literal>EVFILT_READ</literal> meldet fälschlicherweise
|
||||
immer, daß an einem TCP Socket <literal>0</literal>
|
||||
Zeichen zum Lesen bereitstehen, auch wenn in Wirklichkeit
|
||||
Zeichen zum Lesen verfügbar sind. Die bei
|
||||
<literal>EVFILT_READ</literal> verfügbare Option
|
||||
<literal>NOTE_LOWAT</literal> arbeitet bei TCP Sockets ebenfalls
|
||||
fehlerhaft. Dieser Fehler wurde in &release.current; bereits
|
||||
behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">POSIX Named Semaphores</bridgehead>
|
||||
|
||||
<para>Eine der Neuerungen in &os; &release.prev; ist die
|
||||
Unterstützung für Named Semaphores nach POSIX. Die
|
||||
Routinen enthalten leider einen Fehler, durch den sich
|
||||
&man.sem.open.3; falsch verhalten kann, wenn eine Semaphore von
|
||||
einem Prozeß mehrfach geöffnet wird und durch den
|
||||
&man.sem.close.3; zum Absturz des Programms führen kann.
|
||||
Dieser Fehler wurde in &release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Zugriffsrechte für
|
||||
<filename>/dev/tty</filename></bridgehead>
|
||||
|
||||
<para>&os; &release.prev; enthält einen kleinen Fehler im
|
||||
Bereich der Berechtigungen von <filename>/dev/tty</filename>.
|
||||
Dieser Fehler tritt auf, wenn sich ein Benutzer einloggt, der
|
||||
weder <username>root</username> noch Mitglied der Gruppe
|
||||
<groupname>tty</groupname> ist. Wechselt dieser Benutzer nun mit
|
||||
&man.su.1; zu einer anderen Benutzerkennung, die ebenfalls
|
||||
weder <username>root</username> noch Mitglied der Gruppe
|
||||
<groupname>tty</groupname> ist, kann er &man.ssh.1; nicht
|
||||
nutzen, da es <filename>/dev/tty</filename> nicht öffnen
|
||||
kann. Dieser Fehler wurde in &release.current; bereits
|
||||
behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">&man.growfs.8;</bridgehead>
|
||||
|
||||
<para>&man.growfs.8; funktioniert auf &man.vinum.4; Partitionen
|
||||
nicht mehr, da auf ihnen kein Disklabel mehr emuliert wird und
|
||||
&man.growfs.8; das Disklabel analysieren will. Das Problem
|
||||
betrifft wahrscheinlich auch alle anderen Massenspeicher,
|
||||
für die &man.geom.4; benutzt wird.</para>
|
||||
|
||||
<bridgehead renderas="sect3">IPFW</bridgehead>
|
||||
|
||||
<para>&man.ipfw.4; <literal>skipto</literal> Regeln funktionieren
|
||||
nicht, wenn gleichzeitig das Schlüsselwort
|
||||
<literal>log</literal> verwendet wird. Auch die
|
||||
<literal>uid</literal> funktionieren nicht richtig. Diese Fehler
|
||||
wurden in &release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3"> &man.adduser.8; und
|
||||
Paßwörter</bridgehead>
|
||||
|
||||
<para>&man.adduser.8; kann das Paßwort eines neu angelegten
|
||||
Benutzers nicht setzen, wenn dieses Sonderzeichen der Shell
|
||||
enthält. Dieser Fehler wurde in &release.current; bereits
|
||||
behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">&man.xl.4;</bridgehead>
|
||||
|
||||
<para>Der Treiber &man.xl.4; enthält einen Fehler, der zu
|
||||
einem Absturz des Systems mit der Meldung <errorname>kernel
|
||||
panic</errorname> und anderen Problemen führen kann, wenn
|
||||
man versucht, ein Netzwerk-Interface zu konfigurieren. Dieser
|
||||
Fehler wurde in &release.current; bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">ISC DHCP</bridgehead>
|
||||
|
||||
<para><application>ISC DHCP</application> steht jetzt in der
|
||||
Version 3.0.1rc11 zur Verfügung. Diese Aktualisierung
|
||||
erfolgte bereits in &os; &release.prev;, wurde aber nicht in
|
||||
den Release Notes dokumentiert.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Kompatibilitätsprobleme bei
|
||||
&man.amd.8;</bridgehead>
|
||||
|
||||
<para>Der nicht-blockierende Teil der RPC-Routinen in
|
||||
&release.prev; ist fehlerhaft. Einer der auffälligsten
|
||||
Effekte dieser Fehler ist, daß Anwender von &man.amd.8;
|
||||
nicht in der Lage sind, Dateisysteme von einem &release.prev;
|
||||
Server zu mounten. Dieser Fehler wurde in &release.current;
|
||||
bereits behoben.</para>
|
||||
|
||||
<bridgehead renderas="sect3">nsswitch</bridgehead>
|
||||
|
||||
<para>Im Eintrag für <application>nsswitch</application> in
|
||||
den Release Notes wurde ein falscher Name für die bisher
|
||||
genutzte Konfigurationsdatei genannt. Die bisher genutzte
|
||||
Konfigurationsdatei ist
|
||||
<filename>/etc/host.conf</filename>.</para>
|
||||
|
||||
<bridgehead renderas="sect3">Mailman</bridgehead>
|
||||
|
||||
<para>Die &os; Mailinglisten werden jetzt mit Mailman und nicht
|
||||
mehr mit Majordomo verwaltet. Weitere Informationen finden sie
|
||||
auf der <ulink
|
||||
url="http://www.FreeBSD.org/mailman/listinfo/">FreeBSD Mailman
|
||||
Info Page</ulink>.</para>
|
||||
</sect1>
|
||||
</article>
|
||||
@@ -1,14 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/Makefile,v 1.4 2002/11/09 18:00:42 ue Exp $
|
||||
# basiert auf: 1.5
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../..
|
||||
|
||||
SUBDIR = alpha
|
||||
SUBDIR+= ia64
|
||||
SUBDIR+= i386
|
||||
SUBDIR+= pc98
|
||||
SUBDIR+= sparc64
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,11 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/Makefile.inc,v 1.2 2002/03/10 18:41:33 ue Exp $
|
||||
# $Id: Makefile.inc,v 1.5 2002/03/10 15:37:14 ue Exp $
|
||||
# basiert auf: 1.2
|
||||
|
||||
.ifdef NO_LANGCODE_IN_DESTDIR
|
||||
DESTDIR?= ${DOCDIR}/hardware/${.CURDIR:T}
|
||||
.else
|
||||
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/hardware/${.CURDIR:T}
|
||||
.endif
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/alpha/Makefile,v 1.3 2002/03/10 18:41:33 ue Exp $
|
||||
# $Id: Makefile,v 1.6 2002/03/10 15:37:14 ue Exp $
|
||||
# basiert auf: 1.6
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../../..
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
JADEFLAGS+= -V %generate-article-toc%
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
SRCS+= proc-alpha.xml
|
||||
SRCS+= ../common/hw.ent
|
||||
SRCS+= ../common/artheader.xml
|
||||
SRCS+= ../common/dev.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections
|
||||
|
||||
<!-- Architecture-specific customization -->
|
||||
|
||||
<!ENTITY arch "alpha">
|
||||
<!ENTITY arch.print "Alpha/AXP">
|
||||
]>
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/alpha/article.sgml,v 1.5 2002/10/12 18:02:21 ue Exp $
|
||||
basiert auf: 1.4
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
&artheader;
|
||||
§.intro;
|
||||
§.proc.alpha;
|
||||
§.dev;
|
||||
</article>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,33 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/artheader.sgml,v 1.4 2003/01/09 12:14:47 ue Exp $
|
||||
basiert auf: 1.4
|
||||
-->
|
||||
|
||||
<articleinfo>
|
||||
<title>&os;/&arch; &release.current; Hardware Information</title>
|
||||
|
||||
<corpauthor>The FreeBSD German Documentation Project</corpauthor>
|
||||
|
||||
<copyright>
|
||||
<year>2000</year>
|
||||
|
||||
<year>2001</year>
|
||||
|
||||
<year>2002</year>
|
||||
|
||||
<year>2003</year>
|
||||
|
||||
<holder role="mailto:[email protected]">The FreeBSD Documentation
|
||||
Project</holder>
|
||||
</copyright>
|
||||
|
||||
<copyright>
|
||||
<year>2002</year>
|
||||
|
||||
<year>2003</year>
|
||||
|
||||
<holder role="mailto:[email protected]">The
|
||||
FreeBSD German Documentation Project</holder>
|
||||
</copyright>
|
||||
</articleinfo>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,20 +0,0 @@
|
||||
<!-- -*- xml -*- -->
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/hw.ent,v 1.4 2002/07/08 18:42:56 ue Exp $
|
||||
basiert auf: 1.4
|
||||
-->
|
||||
|
||||
<!-- Text constants which probably don't need to be changed.-->
|
||||
|
||||
<!-- Files to be included -->
|
||||
|
||||
<!ENTITY artheader SYSTEM "../common/artheader.xml">
|
||||
<!ENTITY sect.intro SYSTEM "../common/intro.xml">
|
||||
<!ENTITY sect.proc.alpha SYSTEM "../alpha/proc-alpha.xml">
|
||||
<!ENTITY sect.proc.i386 SYSTEM "../i386/proc-i386.xml">
|
||||
<!ENTITY sect.proc.ia64 SYSTEM "../ia64/proc-ia64.xml">
|
||||
<!ENTITY sect.proc.pc98 SYSTEM "../pc98/proc-pc98.xml">
|
||||
<!ENTITY sect.proc.sparc64 SYSTEM "../sparc64/proc-sparc64.xml">
|
||||
<!ENTITY sect.dev SYSTEM "../common/dev.xml">
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/common/intro.sgml,v 1.6 2003/05/24 21:35:15 ue Exp $
|
||||
basiert auf: 1.6
|
||||
-->
|
||||
|
||||
<sect1 id="intro">
|
||||
<title>Einführung</title>
|
||||
|
||||
<para>Dieses Dokument enthält die Liste der unterstützen
|
||||
Geräte für &os; &release.current; auf &arch.print;
|
||||
Systemen (meistens einfach &os;/&arch; &release.current; genannt).
|
||||
Hier finden Sie zum einen alle die Geräte, von denen wir
|
||||
wissen, daß Sie funktionieren; zum anderen finden Sie hier
|
||||
Hinweise, wie Sie den Kernel anpassen können, wenn Sie ein
|
||||
bisher noch nicht unterstütztes Gerät verwenden
|
||||
wollen.</para>
|
||||
|
||||
<note>
|
||||
<para>Dieses Dokument enthält Informationen für
|
||||
&arch.print; Systeme. Andere Versionen dieses Dokumentes, die
|
||||
für andere Plattformen gedacht sind, werden in vielen
|
||||
Punkten von diesem Dokument abweichen.</para>
|
||||
</note>
|
||||
|
||||
<para arch="ia64">Weitergehende Informationen über &os;/&arch;
|
||||
finden Sie auf den Webseiten des <ulink
|
||||
url="http://www.FreeBSD.org/platforms/ia64/index.html">&os;/&arch;
|
||||
Project</ulink>.</para>
|
||||
</sect1>
|
||||
@@ -1,23 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/i386/Makefile,v 1.2 2002/03/10 18:41:36 ue Exp $
|
||||
# $Id: Makefile,v 1.3 2002/03/10 15:37:15 ue Exp $
|
||||
# basiert auf: 1.5
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../../..
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
JADEFLAGS+= -V %generate-article-toc%
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
SRCS+= proc-i386.xml
|
||||
SRCS+= ../common/hw.ent
|
||||
SRCS+= ../common/artheader.xml
|
||||
SRCS+= ../common/dev.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections
|
||||
|
||||
<!-- Architecture-specific customization -->
|
||||
|
||||
<!ENTITY arch "i386">
|
||||
<!ENTITY arch.print "i386">
|
||||
]>
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/i386/article.sgml,v 1.5 2002/12/07 21:09:09 ue Exp $
|
||||
basiert auf: 1.4
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
&artheader;
|
||||
§.intro;
|
||||
§.proc.i386;
|
||||
§.dev;
|
||||
</article>
|
||||
@@ -1,117 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/i386/proc-i386.sgml,v 1.13 2003/05/24 21:49:22 ue Exp $
|
||||
basiert auf: 1.11
|
||||
-->
|
||||
|
||||
<sect1 id="proc">
|
||||
<title>Unterstützte Prozessoren und Mainboards</title>
|
||||
|
||||
<para>&os;/i386 kann auf vielen <quote>IBM PC kompatiblen</quote>
|
||||
Maschinen benutzt werden. Es ist nicht möglich, hier alle
|
||||
unterstützten Kombinationen aufzuführen, die von &os;
|
||||
unterstützt werden, da es viel zu viele Möglichkeiten
|
||||
gibt. Dennoch ist es möglich, einige allgemeine Hinweise zu
|
||||
geben.</para>
|
||||
|
||||
<para>Fast alle i386-kompatiblen Prozessoren werden
|
||||
unterstützt. Alle Prozessoren von Intel ab dem 80386 werden
|
||||
unterstützt, also 80386, 80486, Pentium, Pentium Pro, Pentium
|
||||
II, Pentium III, Pentium 4, und die Modellvarianten dieser
|
||||
Prozessoren, wie der Xeon und Celeron. Der 80386sx wird zwar
|
||||
unterstützt, wir raten aber dringend von der Verwendung
|
||||
dieser CPU ab). Alle i386-kompatiblen Prozessoren von AMD werden
|
||||
unterstützt, dazu gehören Am486, Am5x86, K5, K6 (alle
|
||||
Varianten), Athlon (einschließlich Athlon-MP, Athlon-XP,
|
||||
Athlon-4 und Athlon Thunderbird) und Duron. Der integrierte
|
||||
Prozessor AMD Élan SC520 wird unterstützt. Der
|
||||
Transmeta Crusoe wird erkannt und unterstützt, das gleiche
|
||||
gilt für die i386-kompatiblen Prozessoren von Cyrix und
|
||||
NexGen.</para>
|
||||
|
||||
<para>Für diese Plattform gibt es ganz Reihe verschiedener
|
||||
Mainboards. Für Mainboards mit ISA, VLB, EISA, AGP, und PCI
|
||||
Steckplätzen ist die Unterstützung ausgezeichnet. Der
|
||||
MCA (<quote>MicroChannel</quote>) Bus, der in den IBM PS/2
|
||||
Computern zu finden ist, wird nur teilweise
|
||||
unterstützt.</para>
|
||||
|
||||
<para>Symmetrische Multi-Prozessor (SMP) Systeme werden im
|
||||
allgemeinen von &os; unterstützt. Allerdings kommt es in
|
||||
einigen Fällen zu Problemen, weil das BIOS oder das Mainboard
|
||||
fehlerhaft sind. Ein Blick in der Archive der Mailingliste &a.smp;
|
||||
kann hier weiterhelfen.</para>
|
||||
|
||||
<para>&os; nutzt HyperThreading (HTT) auf Intel CPUs, wenn die CPU
|
||||
dies unterstützt. Wenn in der Konfigurationsdatei für
|
||||
den angepaßten Kernel die Zeile
|
||||
<literal>options SMP</literal> angegeben ist, erkennt und
|
||||
aktiviert der Kernel die zusätzlichen logischen Prozessoren.
|
||||
Der Standard-Scheduler in &os; behandelt diese logischen
|
||||
Prozessoren genau so wie zusätzliche physikalische
|
||||
Prozessoren. Mit anderen Worten, der Scheduler
|
||||
berücksichtigt bei seinen Entscheidungen nicht, daß
|
||||
sich die logischen Prozessoren auf einer CPU bestimmte Ressourcen
|
||||
teilen. Da dieses sehr einfache Vorgehen zu schlechter
|
||||
Performance führen kann, werden die logischen CPUs beim
|
||||
Systemstart standardmäßig deaktiviert. Sie können
|
||||
mit der sysctl-Variable
|
||||
<varname>machdep.hlt_logical_cpus</varname> aktiviert werden. Es
|
||||
ist außerdem möglich, jede CPU anzuhalten, die sich im
|
||||
Idle-Loop befindet, dazu dient die sysctl-Variable
|
||||
<varname>machdep.hlt_cpus</varname>. Weitere Informationen finden
|
||||
Sie in &man.smp.4;.</para>
|
||||
|
||||
<para>Unterstützt die CPU die Physical Address Extension (PAE),
|
||||
kann &os; diese Erweiterung nutzen, wenn in der
|
||||
Konfigurationsdatei für den angepaßten Kernel die
|
||||
Option <literal>PAE</literal> angegeben wird. In diesem Fall
|
||||
wird der Speicher oberhalb von 4 GByte erkannt und steht für
|
||||
die Nutzung durch das System zur Verfügung. Allerdings sind
|
||||
nicht alle Teile von &os; und alle Treiber kompatibel zu
|
||||
<literal>PAE</literal>. Weitere Informationen finden Sie in
|
||||
&man.pae.4;.</para>
|
||||
|
||||
<para>&os; läuft normalerweise auf Laptops mit i386-Prozessoren,
|
||||
allerdings gibt es keinen einheitlichen Standard für die
|
||||
Unterstützung bestimmter Ausstattungsmerkmale wie Audio,
|
||||
Grafik, Power Management und PCCARD Steckplätzen. Diese
|
||||
Merkmale sind von Maschine zu Maschine verschiedenen. In vielen
|
||||
Fällen ist es sogar notwendig, &os; speziell anzupassen, um
|
||||
Fehlern in der Hardware und anderen Merkwürdigkeiten
|
||||
auszuweichen. Im Zweifelsfalle kann ein Blick in der Archive der
|
||||
Mailingliste &a.mobile; weiterhelfen.</para>
|
||||
|
||||
<para>Die meisten aktuellen Laptops (und auch für den
|
||||
Schreibtisch vorgesehene Geräte) unterstützen den
|
||||
Advanced Configuration and Power Management (ACPI) Standard. Wie
|
||||
in &man.acpi.4; beschrieben, nutzt &os; die von Intel
|
||||
veröffentlichte Referenz-Implementierung "ACPI Component
|
||||
Architecture", um ACPI unterstützen zu können.
|
||||
Leider kann es durch die Benutzung von ACPI auf einigen Systemen
|
||||
zu Stabilitätsproblemen kommen, die es notwendig machen, den
|
||||
ACPI-Treiber abzuschalten. Dieser wird normalerweise beim
|
||||
Systemstart als Kernel-Modul geladen. Um ihn abzuschalten,
|
||||
müssen Sie die folgende Zeile in die Datei
|
||||
<filename>/boot/device.hints</filename> eintragen:</para>
|
||||
|
||||
<programlisting>hint.acpi.0.disabled="1"</programlisting>
|
||||
|
||||
<para>Wenn Sie ein Problem im Zusammenhang mit ACPI lösen
|
||||
wollen, kann es helfen, Teile der ACPI-Funktionen abzuschalten.
|
||||
Informationen, welche der Einstellungen im Bootloader dafür
|
||||
verantwortlich sind, finden Sie in der Onlinehilfe zu
|
||||
&man.acpi.4;</para>
|
||||
|
||||
<para>ACPI braucht zur korrekten Funktion die Differentiated System
|
||||
Descriptor Table (DSDT), die vom BIOS bereitgestellt wird. Einige
|
||||
Systemen haben fehlerhafte oder unvollständige DSDTs, daher
|
||||
kann ACPI auf diesen Maschinen nicht korrekt funktionieren.
|
||||
Korrigierte DSDTs für einige Maschinen sind im Bereich <ulink
|
||||
url="http://acpi.sourceforge.net/dsdt/index.php">DSDT</ulink> der
|
||||
Webseiten des <ulink
|
||||
url="http://acpi.sourceforge.net/">ACPI4Linux</ulink> Projekts
|
||||
verfügbar. &os; kann diese DSDTs an Stelle der vom BIOS
|
||||
bereitgestellten DSDT nutzen, weitere Informationen dazu finden
|
||||
Sie in der Onlinehilfe zu &man.acpi.4;</para>
|
||||
</sect1>
|
||||
@@ -1,23 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/ia64/Makefile,v 1.2 2002/03/10 18:41:37 ue Exp $
|
||||
# $Id: Makefile,v 1.2 2002/03/10 15:37:16 ue Exp $
|
||||
# basiert auf: 1.2
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../../..
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
JADEFLAGS+= -V %generate-article-toc%
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
# SRCS+= proc-ia64.xml
|
||||
SRCS+= ../common/hw.ent
|
||||
SRCS+= ../common/artheader.xml
|
||||
SRCS+= ../common/dev.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections
|
||||
|
||||
<!-- Architecture-specific customization -->
|
||||
|
||||
<!ENTITY arch "ia64">
|
||||
<!ENTITY arch.print "IA-64">
|
||||
]>
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/ia64/article.sgml,v 1.6 2003/05/24 21:52:46 ue Exp $
|
||||
basiert auf: 1.3
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
&artheader;
|
||||
|
||||
<abstract>
|
||||
<para>Dieses Dokument befindet sich noch in einem sehr frühen
|
||||
Stadium. Die Angaben sind unvollständig und müssen
|
||||
dringend erweitert werden. Wenn Sie Informationen über
|
||||
&os; &arch.print; Prozessoren, Mainboards und andere Geräte
|
||||
haben, die mit &os; funktionieren, senden Sie sie bitte an die
|
||||
&a.ia64; Mailingliste.</para>
|
||||
</abstract>
|
||||
|
||||
§.intro;
|
||||
§.proc.ia64;
|
||||
§.dev;
|
||||
</article>
|
||||
@@ -1,108 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/ia64/proc-ia64.sgml,v 1.5 2003/05/24 22:16:24 ue Exp $
|
||||
basiert auf: 1.7
|
||||
-->
|
||||
<sect1 id="proc-ia64">
|
||||
<title>Unterstützte Prozessoren und Mainboards</title>
|
||||
|
||||
<para>Zur Zeit werden die <ulink
|
||||
url="http://www.intel.com/design/itanium/itanium/index.htm">Itanium</ulink>
|
||||
und <ulink
|
||||
url="http://www.intel.com/design/itanium2/index.htm">Itanium
|
||||
2</ulink> Prozessoren unterstützt. Die folgenden
|
||||
Mainboard-Chipsätze werden unterstützt:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>HP zx1 (nur auf dem Entwicklungszweig, weitere
|
||||
Informationen finden Sie im <ulink
|
||||
url="http://perforce.freebsd.org/">Perforce
|
||||
repository</ulink>) </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>HP i2000</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Intel 460GX</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Intel E8870</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Zur Zeit wird sowohl an Ein-Prozessor (UP) als auch an
|
||||
Mehr-Prozessor Systemen gearbeitet. Letztere sind zur Zeit
|
||||
weniger stabil. Zur Zeit konzentriert sich die Arbeit auf
|
||||
Verbesserungen für UP-Systeme, um deren Stabilität zu
|
||||
erhöhen.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Übersicht über die unterstützten
|
||||
Systeme</title>
|
||||
|
||||
<para>Dieser Abschnitt enthält zusätzliche Informationen
|
||||
darüber, welche Geräte von &os;/&arch;
|
||||
unterstützt werden und welche nicht.</para>
|
||||
|
||||
<para>Mit Ausnahme der in die PC-Chipsätze integrierten
|
||||
Varianten sollten alle &man.ata.4; Kontroller sofort
|
||||
funktionieren. Wir gehen davon aus, daß früher oder
|
||||
später alle &arch;-kompatiblen Kontroller vollständig
|
||||
unterstützt werden. In den folgenden Abschnitten finden
|
||||
Sie genauere Informationen über die verschiedenen
|
||||
Festplattencontroller und ihren aktuellen Status.</para>
|
||||
|
||||
<para>Ganz generell sollten serielle Schnittstellen nach
|
||||
<quote>PC-Standard</quote> auf Intel-Hardware funktionieren,
|
||||
während sie auf PA-Hardware nicht funktionieren werden.
|
||||
Der Grund ist, daß auf HP-Maschinen alle Geräte in
|
||||
den Speicher eingeblendet werden. Mit Ausnahme der von PCI
|
||||
verlangten VGA-Unterstützung gibt es
|
||||
<emphasis>keinerlei</emphasis> Unterstützung für
|
||||
ISA-Geräte.</para>
|
||||
|
||||
<para>Außer den schon genannten seriellen Schnittstellen mit
|
||||
&man.sio.4;-Treiber gibt es eine Reihe weiterer Geräten,
|
||||
von denen wir wissen, daß sie auf Nicht-Intel Systemen
|
||||
nicht funktionieren können, weil sie sich auf
|
||||
ISA-spezifische Begebenheiten verlassen, die nicht mehr
|
||||
zutreffen. Diese Geräte sollten jedoch auf Intel-Hardware
|
||||
funktionieren.</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>&man.sio.4;</entry>
|
||||
|
||||
<entry>Keine Unterstützung für I/O durch in den
|
||||
Hauptspeicher eingeblendete Bereiche</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>&man.syscons.4;</entry>
|
||||
|
||||
<entry>Erwartet ein BIOS, VGA-Erkennung, etc.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>&man.pcm.4;</entry>
|
||||
|
||||
<entry>Prüft MSS ISA Ports <emphasis>bis zum
|
||||
Erbrechen</emphasis></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>&man.atkbd.4;, &man.psm.4;</entry>
|
||||
|
||||
<entry>Fest verdrahte ISA-Adressen</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</sect2>
|
||||
</sect1>
|
||||
@@ -1,22 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/pc98/Makefile,v 1.1 2002/07/08 18:41:44 ue Exp $
|
||||
# basiert auf: 1.1
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../../..
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
JADEFLAGS+= -V %generate-article-toc%
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
SRCS+= proc-pc98.xml
|
||||
SRCS+= ../common/hw.ent
|
||||
SRCS+= ../common/artheader.xml
|
||||
SRCS+= ../common/dev.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections
|
||||
|
||||
<!-- Architecture-specific customization -->
|
||||
|
||||
<!ENTITY arch "pc98">
|
||||
<!ENTITY arch.print "NEC PC-98x1">
|
||||
]>
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/pc98/article.sgml,v 1.2 2002/10/12 18:02:22 ue Exp $
|
||||
basiert auf: 1.1
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
&artheader;
|
||||
§.intro;
|
||||
§.proc.pc98;
|
||||
§.dev;
|
||||
</article>
|
||||
@@ -1,36 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/pc98/proc-pc98.sgml,v 1.3 2003/01/13 20:30:49 ue Exp $
|
||||
basiert auf: 1.4
|
||||
-->
|
||||
|
||||
<sect1 id="support-sys">
|
||||
<title>Unterstützte Systeme</title>
|
||||
|
||||
<para>NEC PC-9801/9821 Systeme mit fast allen i386-kompatiblen
|
||||
Prozessoren, dazu gehören unter anderem 80386, 80486,
|
||||
Pentium, Pentium Pro und Pentium II inklusive aller Varianten.
|
||||
Die i386-kompatiblen Prozessoren von AMD, Cyrix, IBM und IDT
|
||||
werden ebenfalls unterstützt.</para>
|
||||
|
||||
<para>NEC FC-9801/9821 und NEC SV-98 (beide sind mit der
|
||||
PC-9801/9821 Familie kompatibel) sollten auch unterstützt
|
||||
werden.</para>
|
||||
|
||||
<para>Die EPSON PC-386/486/586 Familien sind kompatibel zur NEC
|
||||
PC-9801 Familie und sollten auch unterstützt werden.</para>
|
||||
|
||||
<para>Der hochauflösende Modus wird nicht unterstützt.
|
||||
Die Familien NEC PC-98XA/XL/RL/XL^2 und NEC PC-H98 werden nur im
|
||||
normalen (PC-9801 kompatiblen) Modus unterstützt.</para>
|
||||
|
||||
<para>Es gibt zwar einige Mehrprozessorsysteme (wie Rs20/B20), die
|
||||
SMP-Fähigkeiten in &os; werden allerdings noch nicht
|
||||
unterstützt.</para>
|
||||
|
||||
<para>Der Standard-Bus des PC-9801/9821 (der sogenannte C-Bus), der
|
||||
Erweiterungsbus des PC9801NOTE (110 Pin) und der PCI-Bus werden
|
||||
unterstützt. Der New Extended Standard Architecture (NESA)
|
||||
Bus (wird in den Familien PC-H98, SV-H98 und FC-H98 genutzt) wird
|
||||
noch nicht unterstützt.</para>
|
||||
</sect1>
|
||||
@@ -1,22 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/Makefile,v 1.3 2003/01/09 12:47:37 ue Exp $
|
||||
# basiert auf: 1.3
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../../..
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
JADEFLAGS+= -V %generate-article-toc%
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
SRCS+= proc-sparc64.xml
|
||||
SRCS+= ../common/hw.ent
|
||||
SRCS+= ../common/artheader.xml
|
||||
SRCS+= ../common/dev.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
<!ENTITY % sections SYSTEM "../common/hw.ent"> %sections
|
||||
|
||||
<!-- Architecture-specific customization -->
|
||||
|
||||
<!ENTITY arch "sparc64">
|
||||
<!ENTITY arch.print "UltraSPARC">
|
||||
]>
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/article.sgml,v 1.7 2003/01/09 12:46:28 ue Exp $
|
||||
basiert auf: 1.3
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
&artheader;
|
||||
§.intro;
|
||||
§.proc.sparc64;
|
||||
§.dev;
|
||||
</article>
|
||||
@@ -1,209 +0,0 @@
|
||||
<!--
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/dev-sparc64.sgml,v 1.4 2003/01/13 20:30:50 ue Exp $
|
||||
$Id: dev-sparc64.sgml,v 1.4 2002/03/10 15:37:16 ue Exp $
|
||||
basiert auf: 1.3
|
||||
-->
|
||||
|
||||
<sect1 id="support-dev">
|
||||
<sect1info>
|
||||
<pubdate>$FreeBSD$</pubdate>
|
||||
</sect1info>
|
||||
|
||||
<title>Unterstützte Geräte</title>
|
||||
|
||||
<para>Dieses Kapitel enthält alle Geräte, die auf jeden
|
||||
Fall von &os; auf &arch; Systemen unterstützt werden. Andere
|
||||
Konfigurationen können auch funktionieren, allerdings wurden
|
||||
sie noch nicht getestet. Rückmeldungen, Ergänzungen und
|
||||
Korrekturen werden dankend angenommen.</para>
|
||||
|
||||
<para>Wenn möglich, wird der zum jeweiligen Gerät bzw. zur
|
||||
jeweiligen Geräteklasse passende Treiber aufgeführt.
|
||||
Wenn es unter &os; eine Online-Hilfe für den betreffenden
|
||||
Treiber gibt (das ist der Normalfall), wird sie ebenfalls
|
||||
aufgeführt.</para>
|
||||
|
||||
<sect2>
|
||||
<title>PCI Hardware</title>
|
||||
|
||||
<para>Rein theoretisch sollte jedes Gerät, für das es
|
||||
einen Treiber gibt, auch auf sparc64 funktionieren. In der
|
||||
Praxis funktionieren einige Treiber sofort, andere müssen
|
||||
angepaßt werden (hier zeigt sich, daß dies die erste
|
||||
<quote>big endian</quote> Architektur ist, die von FreeBSD
|
||||
unterstützt wird).</para>
|
||||
|
||||
<para>Bei den folgenden Geräten sind wir sicher, daß sie
|
||||
unterstützt werden und funktionieren:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>apb</literal> (Sun PCI-PCI Bridge)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>alle Arten von PCI-PCI Bridges</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>&man.ahc.4; (jetzt sehr bald).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>&man.ata.4;, <devicename>atadisk</devicename>,
|
||||
<devicename>atapicd</devicename> (allerdings weder atapift
|
||||
noch atapist)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><devicename>gem</devicename> (Sun GEM/ERI Ethernet, ist
|
||||
in der Blade 100 eingebaut)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>hme</literal> (Sun HME Ethernet, ist in der
|
||||
Ultra 5 und Ultra 10 eingebaut)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>&man.sio.4;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>&man.sym.4;</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>SBus Hardware</title>
|
||||
|
||||
<para>Die folgenden Treiber wurden an SBus
|
||||
angepaßt:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>hme</literal> Ethernet</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>mk48txx</literal> ('eeprom' Gerät,
|
||||
Systemuhr)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>ISA Hardware</title>
|
||||
|
||||
<para>Die Angaben über die Treiber für PCI Hardware
|
||||
gelten auch für die Treiber für ISA-Karten, allerdings
|
||||
gibt es eine wichtige Einschränkung: ISA DMA wird noch nicht
|
||||
unterstützt. Hierbei handelt es sich in der Regel um
|
||||
eingebaute Geräte, uns ist kein einzige UltraSPARC System
|
||||
bekannt, das über einen ISA Steckplatz verfügt.</para>
|
||||
|
||||
<para>Bei den folgenden Geräten sind wir sicher, daß
|
||||
sie unterstützt werden und funktionieren:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>&man.sio.4;</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>EBus Hardware</title>
|
||||
|
||||
<para>Der EBus gibt es nur in Suns, daher müssen die Treiber
|
||||
um Unterstützung für diese Art von Geräten
|
||||
erweitert werden. Der EBus ist ISA sehr ähnlich, daher
|
||||
können ISA-Treiber in der Regel sehr einfach umgeschrieben
|
||||
werden, wenn Sie das <quote>bus space interface</quote> und
|
||||
nicht die <quote>in[bwl]/out[bwl]</quote> Funktionen nutzen.
|
||||
DMA wird noch nicht unterstützt.</para>
|
||||
|
||||
<para>Bei den folgenden Geräten sind wir sicher, daß
|
||||
sie unterstützt werden und funktionieren:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>&man.sio.4;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>mk48txx</literal> ('eeprom' Gerät,
|
||||
Systemuhr)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Nicht unterstützte Geräte</title>
|
||||
|
||||
<para>Die folgenden Geräte, die alle Bestandteile von Sun
|
||||
UltraSPARC System sind, werden zur Zeit noch nicht
|
||||
unterstützt:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Graphikkarten/Bildschirmspeicher, Tastatur (außer
|
||||
der indirekten Unterstützung im Textmodus durch den
|
||||
<devicename>ofw_console</devicename> Treiber)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Serielle Schnittstellen mit Siemens sab82532 (Ultra
|
||||
5/10; die Anschlüsse für Tastatur und Maus sind
|
||||
auch RS232-Anschlüsse und werden daher vom &man.sio.4;
|
||||
Treiber unterstützt; ein Treiber mit dem Namen 'se' ist
|
||||
in Arbeit).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>serielle Tastaturen (außer der indirekten
|
||||
Unterstützung durch den
|
||||
<devicename>ofw_console</devicename> Treiber)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>serielle Anschlüsse mit Zilog z8530 (Tastatur/Maus,
|
||||
ttya und ttyb bei der Ultra 1 und Ultra 2 boxen)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>fas (Fast SCSI Controller, der in den meisten Ultra 1
|
||||
und Ultra 2 Maschinen eingebaut ist)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>USB Anschlüsse (hier gibt es Probleme, es sollte
|
||||
aber relativ einfach sein, diese zu beheben)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>alle Diskettenlaufwerke und Controller
|
||||
dafür</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Chipkarten-Leser (die Blade 100 besitzt einen,
|
||||
allerdings gibt es nur wenige Informationen
|
||||
darüber)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>FireWire/IEEE1394</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Soundkarten</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>parallele Anschlüsse</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
</sect1>
|
||||
@@ -1,175 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/hardware/sparc64/proc-sparc64.sgml,v 1.10 2003/02/08 07:43:14 ue Exp $
|
||||
basiert auf: 1.11
|
||||
-->
|
||||
<sect1 id="support-sys">
|
||||
<title>Unterstützte Systeme</title>
|
||||
|
||||
<para>In diesem Kapitel sind alle Systeme aufgeführt, von denen
|
||||
wir wissen, daß sie von &os; für &arch.print;
|
||||
unterstützt werden. Zusätzliche Informationen zu den
|
||||
einzelnen Systemen finden Sie im <ulink
|
||||
url="http://sunsolve.sun.com/handbook_pub/">Sun System
|
||||
Handbook</ulink>.</para>
|
||||
|
||||
<para>SMP wird auf allen Systemen mit mehr als einem Prozessor
|
||||
unterstützt.</para>
|
||||
|
||||
<para>Wenn Sie ein System haben, daß nicht in dieser Liste
|
||||
aufgeführt ist, könnte das daran liegen, daß es
|
||||
noch mit &os; &release.current; getestet wurde. Bitte probieren
|
||||
Sie es aus und schicken Sie eine Mail mit Ihren Ergebnissen (und
|
||||
Informationen darüber, welche Geräte unterstützt
|
||||
werden und welche nicht) an die &a.sparc;.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Vollständig unterstützte Systeme</title>
|
||||
|
||||
<para>Die folgenden Systeme werden vollständig
|
||||
unterstützt:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Blade 100</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Blade 150</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Enterprise 220R</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Enterprise 250</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Enterprise 420R</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Enterprise 450</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Fire V100</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Fire V120</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra t1 105</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra t1 AC200/DC200</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra t 1100</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra t 1120</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra t 1125</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra t 1400/1405</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra 120</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Netra X1</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>SPARCEngine Ultra AXi</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>SPARCEngine Ultra AXmp</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 5</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 10</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 30</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 60</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 80</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Teilweise unterstützte Systeme</title>
|
||||
|
||||
<para>Die folgenden Systeme werden nur unvollständig
|
||||
unterstützt. Dies betrifft speziell den SCSI-Controller
|
||||
auf dem Systemboard, der zur Zeit nicht unterstützt
|
||||
wird.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Enterprise 3500</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Enterprise 4500</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 1 Enterprise (auch als 1E bezeichnet)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 2</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Nicht unterstützte Systeme</title>
|
||||
|
||||
<para>Die folgenden Systeme werden von &os; nicht
|
||||
unterstützt. Dies liegt zum Teil daran, daß der
|
||||
Prozessor nicht unterstützt wird (UltraSPARC III); an
|
||||
Merkwürdigkeiten im Design des Systems, die zu Problemen im
|
||||
Betrieb führen; oder an fehlender Unterstützten
|
||||
für die Komponenten des Systems, wodurch &os; nicht
|
||||
benutzbar wird.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Alle Systeme mit UltraSPARC III Prozessor(en).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ultra 1</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
</sect1>
|
||||
@@ -1,14 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/Makefile,v 1.6 2002/11/09 18:09:45 ue Exp $
|
||||
# basiert auf: 1.5
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../..
|
||||
|
||||
SUBDIR = alpha
|
||||
SUBDIR+= ia64
|
||||
SUBDIR+= i386
|
||||
SUBDIR+= pc98
|
||||
SUBDIR+= sparc64
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,10 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/Makefile.inc,v 1.2 2002/03/10 18:41:39 ue Exp $
|
||||
# $Id: Makefile.inc,v 1.4 2002/03/10 15:37:17 ue Exp $
|
||||
# basiert auf: 1.2
|
||||
|
||||
.ifdef NO_LANGCODE_IN_DESTDIR
|
||||
DESTDIR?= ${DOCDIR}/installation/${.CURDIR:T}
|
||||
.else
|
||||
DESTDIR?= ${DOCDIR}/de_DE.ISO8859-1/installation/${.CURDIR:T}
|
||||
.endif
|
||||
@@ -1,23 +0,0 @@
|
||||
# $FreeBSD$
|
||||
# $FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/alpha/Makefile,v 1.2 2002/03/10 18:41:40 ue Exp $
|
||||
# $Id: Makefile,v 1.3 2002/03/10 15:37:17 ue Exp $
|
||||
# basiert auf: 1.4
|
||||
|
||||
RELN_ROOT?= ${.CURDIR}/../../..
|
||||
|
||||
DOC?= article
|
||||
FORMATS?= html
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
# SGML content
|
||||
SRCS+= article.xml
|
||||
SRCS+= ../common/artheader.xml
|
||||
SRCS+= ../common/abstract.xml
|
||||
SRCS+= ../common/install.xml
|
||||
SRCS+= ../common/layout.xml
|
||||
SRCS+= ../common/trouble.xml
|
||||
SRCS+= ../common/upgrade.xml
|
||||
|
||||
.include "${RELN_ROOT}/share/mk/doc.relnotes.mk"
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
|
||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//DE">
|
||||
%entities;
|
||||
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
|
||||
%release;
|
||||
<!ENTITY % sections SYSTEM "../common/install.ent"> %sections;
|
||||
|
||||
<!-- Architecture-specific customization -->
|
||||
|
||||
<!ENTITY arch "alpha">
|
||||
<!ENTITY arch.print "Alpha/AXP">
|
||||
]>
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/alpha/article.sgml,v 1.4 2002/10/12 18:02:23 ue Exp $
|
||||
basiert auf: 1.3
|
||||
-->
|
||||
|
||||
<article lang="de">
|
||||
&artheader;
|
||||
&abstract;
|
||||
§.install;
|
||||
§.layout;
|
||||
§.upgrade;
|
||||
§.trouble;
|
||||
</article>
|
||||
@@ -1,14 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/abstract.sgml,v 1.3 2002/03/12 17:24:25 ue Exp $
|
||||
$Id: abstract.sgml,v 1.2 2002/03/10 15:37:17 ue Exp $
|
||||
basiert auf: 1.2
|
||||
-->
|
||||
|
||||
<abstract>
|
||||
<para>Dieser Artikel enthält eine kurze Anleitung für die
|
||||
Installation von &os;/&arch; &release.current;, dabei wird
|
||||
besonderen Wert auf den Bezug einer &os; gelegt. Außerdem
|
||||
enthält er einige Tips zur Fehlersuche sowie Antworten zu
|
||||
einigen häufig gestellten Fragen.</para>
|
||||
</abstract>
|
||||
@@ -1,27 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/artheader.sgml,v 1.3 2003/01/09 12:17:18 ue Exp $
|
||||
basiert auf: 1.4
|
||||
-->
|
||||
|
||||
<articleinfo>
|
||||
<title>&os;/&arch; &release.current; Installationsanleitung</title>
|
||||
|
||||
<corpauthor>
|
||||
The &os; Project
|
||||
</corpauthor>
|
||||
|
||||
<copyright>
|
||||
<year>2000</year>
|
||||
<year>2001</year>
|
||||
<year>2002</year>
|
||||
<year>2003</year>
|
||||
<holder role="mailto:[email protected]">The FreeBSD Documentation Project</holder>
|
||||
</copyright>
|
||||
|
||||
<copyright>
|
||||
<year>2002</year>
|
||||
<year>2003</year>
|
||||
<holder role="mailto:[email protected]">The FreeBSD German Documentation Project</holder>
|
||||
</copyright>
|
||||
</articleinfo>
|
||||
@@ -1,20 +0,0 @@
|
||||
<!-- -*- xml -*- -->
|
||||
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/install.ent,v 1.2 2002/03/10 18:41:41 ue Exp $
|
||||
$Id: install.ent,v 1.3 2002/03/10 15:37:17 ue Exp $
|
||||
basiert auf: 1.2
|
||||
-->
|
||||
|
||||
<!-- Text constants which probably don't need to be changed.-->
|
||||
|
||||
<!-- Files to be included -->
|
||||
|
||||
<!ENTITY artheader SYSTEM "artheader.xml">
|
||||
<!ENTITY abstract SYSTEM "abstract.xml">
|
||||
<!ENTITY sect.install SYSTEM "install.xml">
|
||||
<!ENTITY sect.layout SYSTEM "layout.xml">
|
||||
<!ENTITY sect.upgrade SYSTEM "upgrade.xml">
|
||||
<!ENTITY sect.trouble SYSTEM "trouble.xml">
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,171 +0,0 @@
|
||||
<!--
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/relnotes/de_DE.ISO8859-1/installation/common/layout.sgml,v 1.5 2002/11/09 23:07:18 ue Exp $
|
||||
basiert auf: 1.6
|
||||
|
||||
This section contains the contents of the old LAYOUT.TXT file.
|
||||
-->
|
||||
<sect1 id="layout">
|
||||
<title>Format der Distribution</title>
|
||||
|
||||
<para>Ein Verzeichnis mit einer typischen &os; Distribution sieht
|
||||
ungefähr so aus (das exakte Aussehen hängt von der
|
||||
jeweiligen Version, Architektur und andere Faktoren ab):</para>
|
||||
|
||||
<screen>ERRATA.HTM README.TXT compat1x dict kernel
|
||||
ERRATA.TXT RELNOTES.HTM compat20 doc manpages
|
||||
HARDWARE.HTM RELNOTES.TXT compat21 docbook.css packages
|
||||
HARDWARE.TXT base compat22 filename.txt ports
|
||||
INSTALL.HTM boot compat3x floppies proflibs
|
||||
INSTALL.TXT catpages compat4x games src
|
||||
README.HTM cdrom.inf crypto info tools</screen>
|
||||
|
||||
<para>Wenn Sie dieses Verzeichnis für eine CD-, FTP- oder
|
||||
NFS-Installation nutzen wollen, brauchen Sie nur die beiden 1.44
|
||||
MByte großen Bootdisketten zu erstellen (wie das geht, ist
|
||||
in <xref linkend="floppies"/> beschrieben), von diesen zu booten,
|
||||
und dann den Anweisungen zu folgen. Alle anderen Dateien, die
|
||||
für die Installation notwendig sind, werden auf der Grundlage
|
||||
Ihrer Angaben automatisch geholt. Wenn Sie &os; noch nie
|
||||
installiert haben, sollten Sie dieses Dokument (die
|
||||
Installationsanleitung) komplett durchlesen.</para>
|
||||
|
||||
<para>Wenn Sie eine der anderen Varianten der Installation nutzen
|
||||
oder einfach nur wissen wollen, wie eine Distribution aufgebaut
|
||||
ist, finden Sie hier weitere Informationen zum Inhalt einiger der
|
||||
Verzeichnisse:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Die <filename>*.TXT</filename> und
|
||||
<filename>*.HTM</filename> Dateien enthalten Dokumentationen
|
||||
(dieses Dokument ist zum Beispiels in
|
||||
<filename>INSTALL.TXT</filename> und
|
||||
<filename>INSTALL.HTM</filename> enthalten), die Sie vor der
|
||||
Installation lesen sollten. Die <filename>*.TXT</filename>
|
||||
Dateien enthalten normaler Text, die
|
||||
<filename>*.HTM</filename> Dateien enthalten HTML und
|
||||
können mit fast jedem Web Browser gelesen werden. Einige
|
||||
Distributionen stellen die Dokumentationen auch in anderen
|
||||
Formaten bereit, z.B. PDF oder PostScript.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><filename>docbook.css</filename> ist ein Cascading Style
|
||||
Sheet (CSS), der von einigen Browsern zur Formatierung der
|
||||
HTML Dokumentation benutzt wird.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die Verzeichnisse <filename>base</filename>,
|
||||
<filename>catpages</filename>, <filename>crypto</filename>,
|
||||
<filename>dict</filename>, <filename>doc</filename>,
|
||||
<filename>games</filename>, <filename>info</filename>,
|
||||
<filename>manpages</filename>, <filename>proflibs</filename>,
|
||||
und <filename>src</filename> enthalten die Hauptkomponenten
|
||||
der &os; Distribution. Diese sind auf kleine Dateien
|
||||
aufgeteilt wurden, damit sie (zur Not) auch auf Disketten
|
||||
passen.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die Verzeichnisse <filename>compat1x</filename>,
|
||||
<filename>compat20</filename>, <filename>compat21</filename>,
|
||||
<filename>compat22</filename>, <filename>compat3x</filename>,
|
||||
und <filename>compat4x</filename> enthalten Dateien, die zur
|
||||
Ausführung von Programmen für älteren &os;
|
||||
Versionen notwendig sind. Auch diese Dateien liegen im
|
||||
<filename>.tar.gz</filename> Format vor und können direkt
|
||||
bei der Installation installiert werden. Falls Sie sie
|
||||
nachträglich installieren wollen, nutzen Sie das
|
||||
<filename>install.sh</filename> Script in dem jeweiligen
|
||||
Verzeichnis.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Das Verzeichnis <filename>floppies/</filename>
|
||||
enthält die Images der Bootdisketten. Informationen, wie
|
||||
man diese Images benutzt, finden Sie in <xref
|
||||
linkend="floppies"/>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die Verzeichnisse <filename>packages</filename> und
|
||||
<filename>ports</filename> enthalten die &os; Packages bzw.
|
||||
Ports Collection. Sie können Packages aus diesem
|
||||
Verzeichnis installieren, indem Sie den folgenden Befehl
|
||||
eingeben:</para>
|
||||
|
||||
<screen>&prompt.root;<userinput>/stand/sysinstall configPackages</userinput></screen>
|
||||
|
||||
<para>Alternativ können Sie auch die Namen einzelner
|
||||
Dateien aus <filename>packages</filename> an das Programm
|
||||
&man.pkg.add.1; übergeben.</para>
|
||||
|
||||
<para>Die Ports Collection kann wie jede andere Distribution
|
||||
installiert werden und belegt dann rund 100 MByte
|
||||
Plattenplatz. Weitere Informationen über die Ports
|
||||
Collection finden Sie auf <ulink
|
||||
url="http://www.FreeBSD.org/ports/">http://www.FreeBSD.org/ports/</ulink>.
|
||||
Wenn Sie die <filename>doc</filename> Distribution installiert
|
||||
haben, sind diese Informationen auch unter
|
||||
<filename>/usr/share/doc/handbook</filename>
|
||||
verfügbar.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Zum guten Schluß: Das Verzeichnis
|
||||
<filename>tools</filename> enthält diverse DOS-Programme
|
||||
zur Ermittlung der Plattengeometrie, zur Installation von
|
||||
Bootmanager, und so weiter. Sie brauchen diese Programme
|
||||
nicht unbedingt, sie werden nur mitgeliefert, um Ihnen das
|
||||
Leben etwas einfacher zu machen.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para>Das Verzeichnisses einer typischen Distribution (in diesem Fall <filename>info</filename>) enthält die folgenden Dateien:</para>
|
||||
|
||||
<screen>CHECKSUM.MD5 info.ab info.ad info.inf install.sh
|
||||
info.aa info.ac info.ae info.mtree</screen>
|
||||
|
||||
<para>Die Datei <filename>CHECKSUM.MD5</filename> enthält MD5
|
||||
Prüfsummen für die anderen Dateien. Sie wird nur
|
||||
gebraucht, falls Sie vermuten, daß eine Datei
|
||||
beschädigt wurde. Diese Datei wird vom Installationsprogramm
|
||||
nicht verwendet und muß auch nicht zusammen mit den anderen
|
||||
Dateien dieser Distribution kopiert werden. Die Dateien mit den
|
||||
Namen <filename>info.a*</filename> sind Teile eines einzigen
|
||||
.tar.gz Archiv, dessen Inhalt Sie sich mit dem folgenden Befehl
|
||||
anzeigen lassen können:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cat info.a* | tar tvzf -</userinput></screen>
|
||||
|
||||
<para>Während der Installation werden diese Dateien automatisch
|
||||
zusammengesetzt und ausgepackt.</para>
|
||||
|
||||
<para>Die Datei <filename>info.inf</filename> wird vom
|
||||
Installationsprogramm genutzt, um die Anzahl der Dateiteile zu
|
||||
ermitteln, die es beschaffen und zusammensetzen muß. Wenn
|
||||
Sie eine Distribution auf Diskette kopieren,
|
||||
<emphasis>müssen</emphasis> Sie die <filename>.inf</filename>
|
||||
Datei auf die erste Diskette kopieren.</para>
|
||||
|
||||
<para>Die Datei <filename>info.mtree</filename> ist ebenfalls
|
||||
optional und als Information für den Benutzer gedacht. Sie
|
||||
enthält die MD5 Prüfsummen der
|
||||
<emphasis>ungepackten</emphasis> Dateien in der Distribution und
|
||||
kann später vom Programm &man.mtree.8; genutzt werden, um
|
||||
Änderungen an den Datei oder Dateirechten aufzuspüren.
|
||||
Wenn Sie das bei der <filename>base</filename> Distribution machen,
|
||||
haben Sie eine sehr wirksame Methode, um Ihr System auf
|
||||
trojanische Pferde zu untersuchen.</para>
|
||||
|
||||
<para>Zum guten Schluß: Mit der Datei
|
||||
<filename>install.sh</filename> können Sie eine Distribution
|
||||
nachträglich installieren. Wenn Sie zum Beispiel die info
|
||||
Distribution nachträglich von CD installieren wollen, kommen
|
||||
Sie mit den folgenden Befehlen zum Ziel:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /cdrom/info</userinput>
|
||||
&prompt.root; <userinput>sh install.sh</userinput></screen>
|
||||
</sect1>
|
||||
Loaded 100 of 347 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user