aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2018-10-22 22:34:13 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2025-01-28 21:13:52 +0100
commitd8878820bb92ac641ce4124477f678fd67a5fd1a (patch)
treec5e32ef3dcde93c6457d7bdd286701c4e8fb3d36
parentDisable ldconfig during install (diff)
downloadglibc-d8878820bb92ac641ce4124477f678fd67a5fd1a.tar.gz
glibc-d8878820bb92ac641ce4124477f678fd67a5fd1a.tar.bz2
glibc-d8878820bb92ac641ce4124477f678fd67a5fd1a.zip
Adapt to Gentoo-specific /etc/mail/aliases
Patch by pacho2 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> (cherry picked from commit 4e616cda056f471b799beba2b1cedc787ad4ecc0) Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r--nss/nss_files/files-alias.c2
-rw-r--r--nss/tst-nss-files-alias-leak.c18
-rw-r--r--support/support_chroot.c8
3 files changed, 17 insertions, 11 deletions
diff --git a/nss/nss_files/files-alias.c b/nss/nss_files/files-alias.c
index 297449013d..7857e63859 100644
--- a/nss/nss_files/files-alias.c
+++ b/nss/nss_files/files-alias.c
@@ -42,7 +42,7 @@ internal_setent (FILE **stream)
if (*stream == NULL)
{
- *stream = __nss_files_fopen ("/etc/aliases");
+ *stream = __nss_files_fopen ("/etc/mail/aliases");
if (*stream == NULL)
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
diff --git a/nss/tst-nss-files-alias-leak.c b/nss/tst-nss-files-alias-leak.c
index 7068de9787..71bafa0f7d 100644
--- a/nss/tst-nss-files-alias-leak.c
+++ b/nss/tst-nss-files-alias-leak.c
@@ -45,27 +45,27 @@ prepare (int argc, char **argv)
chroot_env = support_chroot_create
((struct support_chroot_configuration) { } );
- char *path = xasprintf ("%s/etc/aliases", chroot_env->path_chroot);
+ char *path = xasprintf ("%s/etc/mail/aliases", chroot_env->path_chroot);
add_temp_file (path);
support_write_file_string
(path,
- "user1: :include:/etc/aliases.user1\n"
- "user2: :include:/etc/aliases.user2\n"
- "comment: comment1, :include:/etc/aliases.comment\n"
- "many: :include:/etc/aliases.many\n");
+ "user1: :include:/etc/mail/aliases.user1\n"
+ "user2: :include:/etc/mail/aliases.user2\n"
+ "comment: comment1, :include:/etc/mail/aliases.comment\n"
+ "many: :include:/etc/mail/aliases.many\n");
free (path);
- path = xasprintf ("%s/etc/aliases.user1", chroot_env->path_chroot);
+ path = xasprintf ("%s/etc/mail/aliases.user1", chroot_env->path_chroot);
add_temp_file (path);
support_write_file_string (path, "alias1\n");
free (path);
- path = xasprintf ("%s/etc/aliases.user2", chroot_env->path_chroot);
+ path = xasprintf ("%s/etc/mail/aliases.user2", chroot_env->path_chroot);
add_temp_file (path);
support_write_file_string (path, "alias1a, alias2\n");
free (path);
- path = xasprintf ("%s/etc/aliases.comment", chroot_env->path_chroot);
+ path = xasprintf ("%s/etc/mail/aliases.comment", chroot_env->path_chroot);
add_temp_file (path);
support_write_file_string
(path,
@@ -75,7 +75,7 @@ prepare (int argc, char **argv)
"comment2\n");
free (path);
- path = xasprintf ("%s/etc/aliases.many", chroot_env->path_chroot);
+ path = xasprintf ("%s/etc/mail/aliases.many", chroot_env->path_chroot);
add_temp_file (path);
FILE *fp = xfopen (path, "w");
for (int i = 0; i < many_aliases; ++i)
diff --git a/support/support_chroot.c b/support/support_chroot.c
index 2637dd1522..5c8cd026b5 100644
--- a/support/support_chroot.c
+++ b/support/support_chroot.c
@@ -52,13 +52,19 @@ support_chroot_create (struct support_chroot_configuration conf)
xmkdir (path_etc, 0777);
add_temp_file (path_etc);
+ /* Create the /etc/mail directory in the chroot environment. */
+ char *path_etc_mail = xasprintf ("%s/etc/mail", chroot->path_chroot);
+ xmkdir (path_etc_mail, 0777);
+ add_temp_file (path_etc_mail);
+
write_file (path_etc, "resolv.conf", conf.resolv_conf,
&chroot->path_resolv_conf);
write_file (path_etc, "hosts", conf.hosts, &chroot->path_hosts);
write_file (path_etc, "host.conf", conf.host_conf, &chroot->path_host_conf);
- write_file (path_etc, "aliases", conf.aliases, &chroot->path_aliases);
+ write_file (path_etc_mail, "aliases", conf.aliases, &chroot->path_aliases);
free (path_etc);
+ free (path_etc_mail);
/* valgrind needs a temporary directory in the chroot. */
{