Репозитории ALT
S: | 1.3.59-alt4 |
5.1: | 1.3.29-alt2 |
4.1: | 1.3.29-alt2 |
4.0: | 1.3.29-alt2 |
3.0: | 1.2.24-alt5 |
+backports: | 1.3.29-alt0.M30.1 |
Группа :: Система/Настройка/Загрузка и инициализация
Пакет: chkconfig
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: chkconfig-1.2.24-alt-installer.patch
Скачать
Скачать
diff -Naur chkconfig-1.2.24.orig/chkconfig.c chkconfig-1.2.24/chkconfig.c
--- chkconfig-1.2.24.orig/chkconfig.c Tue Feb 5 12:02:59 2002
+++ chkconfig-1.2.24/chkconfig.c Tue Feb 5 13:17:08 2002
@@ -14,6 +14,7 @@
extern const char *__progname;
#define _(String) gettext((String))
+#define CONFIG_FILE "/etc/chkconfig.allow"
#include "leveldb.h"
@@ -82,6 +83,29 @@
return 0;
}
+static int disallowed_add(char *name){
+ if (getenv ("RPM_INSTALL_NAME") && getenv ("DURING_INSTALL")){
+ char buffer[BUFSIZ];
+ FILE *config = fopen(CONFIG_FILE,"r");
+
+ if (!config) return 0;
+
+ while (fgets (buffer, sizeof(buffer), config))
+ {
+ size_t len = strlen(buffer);
+ if ((len>2) && (buffer[len-1]=='\n'))
+ buffer[len-1] = '\0';
+ if (!strcmp (name, buffer)){
+ fclose (config);
+ return 0;
+ }
+ }
+ fclose (config);
+ return 1;
+ }
+ return 0;
+}
+
static int addService(char * name) {
int i, rc;
struct service s;
@@ -91,6 +115,8 @@
return 1;
}
+ if (disallowed_add (name)) return 0;
+
if ((rc = readServiceInfo(name, &s, 0))) {
readServiceError(rc, name);
return 1;