# Patch for commit 33550036cb0c9311c9dc4da9b3b359435319420e (pam-mount) # http://sourceforge.net/p/pam-mount/pam-mount/ci/33550036cb0c9311c9dc4da9b3b359435319420e/ # Log: src: update for libHX 3.12 # Authored by: Jan Engelhardt 2011-12-02 --- ./configure.ac.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./configure.ac 2013-06-08 14:52:22.855624000 +1000 @@ -63,7 +63,7 @@ AM_CONDITIONAL([HAVE_MDIO], [test "x$ac_cv_header_sys_mdioctl_h" = "xyes"]) AM_CONDITIONAL([HAVE_VND], [test "x$ac_cv_header_dev_vndvar_h" = "xyes"]) -PKG_CHECK_MODULES([libHX], [libHX >= 3.10.1]) +PKG_CHECK_MODULES([libHX], [libHX >= 3.12]) PKG_CHECK_MODULES([libxml], [libxml-2.0 >= 2.6]) AC_ARG_WITH( --- ./src/autoloop.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/autoloop.c 2013-06-08 14:45:47.846247000 +1000 @@ -54,7 +54,8 @@ HXOPT_AUTOHELP, HXOPT_TABLEEND, }; - if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0) + if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) != + HXOPT_ERR_SUCCESS) return false; if (*argc != 2) { fprintf(stderr, "Usage: %s file\n", HX_basename(**argv)); --- ./src/ehd.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/ehd.c 2013-06-08 14:46:27.566540000 +1000 @@ -526,7 +526,8 @@ HXOPT_TABLEEND, }; - if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0) + if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) != + HXOPT_ERR_SUCCESS) return false; pg->interactive = isatty(fileno(stdin)); --- ./src/misc.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/misc.c 2013-06-08 14:47:27.515576000 +1000 @@ -159,7 +159,7 @@ { char *filled; - if (HXformat2_aprintf(vinfo, &filled, arg) == 0) + if (HXformat_aprintf(vinfo, &filled, arg) == 0) /* * This case may happen with e.g. %(before="-o" OPTIONS) where * OPTIONS is empty. And options expanding to nothing are --- ./src/mount.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/mount.c 2013-06-08 14:47:54.655610000 +1000 @@ -487,7 +487,7 @@ string = HXmc_meminit(NULL, 0); for (i = config->command[CMD_FSCK]->first; i != NULL; i = i->next) { - if (HXformat2_aprintf(vinfo, ¤t, i->ptr) > 0) { + if (HXformat_aprintf(vinfo, ¤t, i->ptr) > 0) { HXmc_strcat(&string, current); HXmc_strcat(&string, " "); } --- ./src/mtab.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/mtab.c 2013-06-08 14:48:18.965526000 +1000 @@ -138,7 +138,7 @@ l0g("HX_dirname: %s\n", strerror(errno)); return -errno; } - ret = HX_mkdir(dirname); + ret = HX_mkdir(dirname, S_IRUGO | S_IXUGO | S_IWUSR); free(dirname); if (ret < 0) { l0g("HX_mkdir: %s\n", strerror(-ret)); --- ./src/mtcrypt.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/mtcrypt.c 2013-06-08 14:49:23.036264000 +1000 @@ -185,7 +185,8 @@ bool kfpt; int ret; - if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0) + if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) != + HXOPT_ERR_SUCCESS) return false; pmtlog_path[PMTLOG_DBG][PMTLOG_STDERR] = Debug; @@ -508,7 +509,8 @@ }; int ret; - if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0) + if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) != + HXOPT_ERR_SUCCESS) return false; pmtlog_path[PMTLOG_DBG][PMTLOG_STDERR] = Debug; --- ./src/pam_mount.h 2011-10-06 22:48:08.000000000 +1100 +++ ./src/pam_mount.h 2013-06-08 14:50:03.445549000 +1000 @@ -15,12 +15,6 @@ # define EXPORT_SYMBOL #endif -#ifndef S_IRXG -# define S_IRXG (S_IRGRP | S_IXGRP) -#endif -#ifndef S_IRXO -# define S_IRXO (S_IROTH | S_IXOTH) -#endif #define sizeof_z(x) (sizeof(x) - 1) /* --- ./src/pmvarrun.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/pmvarrun.c 2013-06-08 14:51:23.506567000 +1000 @@ -296,10 +296,11 @@ */ static int create_var_run(void) { + static const unsigned int mode = S_IRUGO | S_IXUGO | S_IWUSR; int ret; w4rn("creating " VAR_RUN_PMT); - if (HX_mkdir(VAR_RUN_PMT) < 0) { + if (HX_mkdir(VAR_RUN_PMT, mode) < 0) { ret = -errno; l0g("unable to create " VAR_RUN_PMT ": %s\n", strerror(errno)); return ret; @@ -314,7 +315,7 @@ * 0755: `su` creates file group owned by user and then releases root * permissions. User needs to be able to access file on logout. */ - if (chmod(VAR_RUN_PMT, S_IRWXU | S_IRXG | S_IRXO) < 0) { + if (chmod(VAR_RUN_PMT, mode) < 0) { ret = -errno; l0g("unable to chmod " VAR_RUN_PMT ": %s\n", strerror(errno)); return ret; --- ./src/rdconf1.c.orig 2011-10-06 22:48:08.000000000 +1100 +++ ./src/rdconf1.c 2013-06-08 14:51:47.165542000 +1000 @@ -126,7 +126,7 @@ if (*dest_pptr == NULL) return true; - HXformat2_aprintf(vinfo, &tmp, *dest_pptr); + HXformat_aprintf(vinfo, &tmp, *dest_pptr); *dest_pptr = xstrdup(tmp); HXmc_free(tmp); return true;