A check box controls the way archiving is performed. By defaylt
! archiving of a profile is done either when you switch to another
! profile or you trigger and archive operation.
!
Archiving may be perform everytime you modify a configuration file.
! The archiving is done just before the file is updated. This way
! the archive always contains the original version before you
! updated it. Using RCS or the --diff command line option, one can
! track the evolution of tha configuration file. See the --diff
! option below.
!
lets you save a copy of the configuration files of a few sys-systems.
If you omit a sub-system name, then all sub-systems are archived.
+
+
Comparing the current setting with the archive
+
+
The command
+
+
+
+ linuxconf --diff [ sub-system ... ]
+
+
+
+
lets you compare the current state of a the configuration files
+ with the last archived version.
+ If you omit a sub-system name, then all sub-systems are compared.
+ A check box controls the way archiving is performed. By defaylt
+ archiving of a profile is done either when you switch to another
+ profile or you trigger and archive operation.
+
+ Archiving may be perform everytime you modify a configuration file.
+ The archiving is done just before the file is updated. This way
+ the archive always contains the original version before you
+ updated it. Using RCS or the --diff command line option, one can
+ track the evolution of tha configuration file. See the --diff
+ option below.
+
Definition of a system profile
***************
*** 191,194 ****
--- 204,219 ----
If you omit a sub-system name, then all sub-systems are archived.
+ Comparing the current setting with the archive
+
+ The command
+
+
+ linuxconf --diff [ sub-system ... ]
+
+
+ lets you compare the current state of a the configuration files
+ with the last archived version.
+ If you omit a sub-system name, then all sub-systems are compared.
+
Extracting some or all sub-systems
***************
*** 201,204 ****
--- 226,241 ----
lets you restore the configuration files of a few sys-systems.
If you omit a sub-system name, then all sub-systems are restored.
+
+ Viewing the status of the RCS archive
+
+ The command
+
+
+ linuxconf --history [ sub-system ... ]
+
+
+ will present the archiving history of every file in the
+ sub-systems (or all sub-systems). It does this by executing the
+ rlog command on each file in the archive.
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/help.files/sources/usermenu/FILE_LIST linuxconf-1.16r3.3/help.files/sources/usermenu/FILE_LIST
*** linuxconf-1.16r3.2/help.files/sources/usermenu/FILE_LIST Wed Dec 31 19:00:00 1969
--- linuxconf-1.16r3.3/help.files/sources/usermenu/FILE_LIST Sat Oct 2 22:51:09 1999
***************
*** 0 ****
--- 1 ----
+ usermenu
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/help.files/sources/usermenu/Makefile linuxconf-1.16r3.3/help.files/sources/usermenu/Makefile
*** linuxconf-1.16r3.2/help.files/sources/usermenu/Makefile Wed Dec 31 19:00:00 1969
--- linuxconf-1.16r3.3/help.files/sources/usermenu/Makefile Sat Oct 2 23:47:18 1999
***************
*** 0 ****
--- 1,2 ----
+ include ../../scripts/help.mak
+
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/help.files/sources/usermenu/usermenu-1.html linuxconf-1.16r3.3/help.files/sources/usermenu/usermenu-1.html
*** linuxconf-1.16r3.2/help.files/sources/usermenu/usermenu-1.html Wed Dec 31 19:00:00 1969
--- linuxconf-1.16r3.3/help.files/sources/usermenu/usermenu-1.html Sat Oct 2 23:47:35 1999
***************
*** 0 ****
--- 1,28 ----
+
+
+
+
+ user defined menus: Principles
+
+
+
+
+
+ Next
+ Previous
+ Contents
+
+
As Linuxconf grows and grows with more functionalities, you may
+ wish to create limited views allowing less experienced co-administrator
+ to focus only on the tasks they must perform. A user defined menu
+ is a collection of Linuxconf menu entries presented in a single
+ menu.
+
+
+ Next
+ Previous
+ Contents
+
+
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/help.files/sources/usermenu/usermenu-2.html linuxconf-1.16r3.3/help.files/sources/usermenu/usermenu-2.html
*** linuxconf-1.16r3.2/help.files/sources/usermenu/usermenu-2.html Wed Dec 31 19:00:00 1969
--- linuxconf-1.16r3.3/help.files/sources/usermenu/usermenu-2.html Sat Oct 2 23:47:35 1999
***************
*** 0 ****
--- 1,61 ----
+
+
+
+
+ user defined menus: Creating a new menu
+
+
+
+
+ Next
+ Previous
+ Contents
+
+
Each user defined menu creates a new privilege. The privilege
+ grants access to the menu to a normal user. Visit the user accounts
+ dialog and grant access to the menu to the various user you trust
+ to use this menu.
+
By default, the privilege only grant access to the
+ menu. Any entry in the menu may define other privileges.
+ Unless the co-administrator has those privilege, he will
+ be prompted for the root password.
+
The check-box lets you enhance the power of the privilege associated
+ with the menu. When checked, the privilege override any privileges
+ normally associated with the menu entries. Said differently, the
+ co-administrator holding this privilege has the same power
+ as root for the tasks showed in the menu.
+
Using this check-box must be considered seriously. A malicious
+ co-administrator may find a way to get more privileges (including
+ root access maybe). Many Linuxconf component do not defined
+ any privilege (root password required). This check-box
+ allows a normal user to administer those components.
+
+ As Linuxconf grows and grows with more functionalities, you may
+ wish to create limited views allowing less experienced co-administrators
+ to focus only on the tasks they must perform. A user defined menu
+ is a collection of Linuxconf menu entries presented in a single
+ menu.
+
+ Creating a new menu
+
+ You must assign a unique identifier to the new menu. The identifier
+ is normally a meaningful name.
+
+ Title
+
+ Place here any title you want. This will be displayed at the top
+ of the menu seen by the co-administrators.
+
+ Access privilege
+
+ Each user defined menu creates a new privilege. The privilege
+ grants access to the menu to a normal user. Visit the user accounts
+ dialog and grant access to the menu to the various user you trust
+ to use this menu.
+
+ By default, the privilege only grant access to the
+ menu. Any entry in the menu may define other privileges.
+ Unless the co-administrator has those privileges, he will
+ be prompted for the root password.
+
+ The check-box lets you enhance the power of the privilege associated
+ with the menu. When checked, the privilege override any privileges
+ normally associated with the menu entries. Said differently, the
+ co-administrator holding this privilege has the same power
+ as root for the tasks showed in the menu.
+
+ Using this check-box must be considered seriously. A malicious
+ co-administrator may find a way to get more privileges (including
+ root access maybe). Many Linuxconf component do not defined
+ any privilege (root password required). This check-box
+ allows a normal user to administer those components.
+
+ Linuxconf's options
+
+ You are presented with many check-boxes. Each one maps one
+ Linuxconf menu entries to the newly defined menu.
+
+ You can map a terminal menu entry or a sub-menu. Mapping a sub-menu
+ enable access to every menu entries under it.
+
+
+
+
Binary files linuxconf-1.16r3.2/images/redarrow.png and linuxconf-1.16r3.3/images/redarrow.png differ
Only in linuxconf-1.16r3.2: linuxconf
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/main/Makefile linuxconf-1.16r3.3/main/Makefile
*** linuxconf-1.16r3.2/main/Makefile Fri Mar 26 19:39:17 1999
--- linuxconf-1.16r3.3/main/Makefile Wed Sep 22 21:33:18 1999
***************
*** 17,21 ****
proto:
! proto -m0+ *.cc
# LNXMODULES allows one to link "statically" a module. This helps
--- 17,21 ----
proto:
! proto -Di386 -m0+ *.cc
# LNXMODULES allows one to link "statically" a module. This helps
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/main/linuxconf.cc linuxconf-1.16r3.3/main/linuxconf.cc
*** linuxconf-1.16r3.2/main/linuxconf.cc Thu Sep 16 21:51:09 1999
--- linuxconf-1.16r3.3/main/linuxconf.cc Wed Sep 22 21:43:36 1999
***************
*** 595,598 ****
--- 595,619 ----
}
+ void linuxconf_formatversion (char version[80])
+ {
+ extern char *revision;
+ #if LINUXCONF_SUBSUBREVISION > 0
+ snprintf (version,79,"%s %s (%s %d-%d)"
+ ,MSG_U(TITLE,"Linuxconf")
+ ,revision
+ ,MSG_U(SUBREV,"subrev")
+ ,LINUXCONF_SUBREVISION,LINUXCONF_SUBSUBREVISION);
+ #elif LINUXCONF_SUBREVISION > 0
+ snprintf (version,79,"%s %s (%s %d)"
+ ,MSG_R(TITLE)
+ ,revision
+ ,MSG_R(SUBREV)
+ ,LINUXCONF_SUBREVISION);
+ #else
+ snprintf (version,79,"%s %s"
+ ,MSG_R(TITLE),revision);
+ #endif
+ }
+
void linuxconf_setmaintitle(char title[80],char sidetitle[80])
{
***************
*** 600,619 ****
THISHOST host;
const char *name = host.getname1();
#if LINUXCONF_SUBSUBREVISION > 0
- sprintf (title,"%s: %s %s (subrev %d-%d)"
- ,name
- ,MSG_U(TITLE,"Linuxconf")
- ,revision,LINUXCONF_SUBREVISION,LINUXCONF_SUBSUBREVISION);
sprintf (sidetitle,"LINUXCONF %s.%d",revision,LINUXCONF_SUBREVISION);
#elif LINUXCONF_SUBREVISION > 0
- sprintf (title,"%s: %s %s (subrev %d)"
- ,name
- ,MSG_R(TITLE)
- ,revision,LINUXCONF_SUBREVISION);
sprintf (sidetitle,"LINUXCONF %s.%d",revision,LINUXCONF_SUBREVISION);
#else
- sprintf (title,"%s: %s %s"
- ,name
- ,MSG_R(TITLE),revision);
sprintf (sidetitle,"LINUXCONF %s",revision);
#endif
--- 621,632 ----
THISHOST host;
const char *name = host.getname1();
+ char version[80];
+ linuxconf_formatversion(version);
+ snprintf (title,79,"%s: %s",name,version);
#if LINUXCONF_SUBSUBREVISION > 0
sprintf (sidetitle,"LINUXCONF %s.%d",revision,LINUXCONF_SUBREVISION);
#elif LINUXCONF_SUBREVISION > 0
sprintf (sidetitle,"LINUXCONF %s.%d",revision,LINUXCONF_SUBREVISION);
#else
sprintf (sidetitle,"LINUXCONF %s",revision);
#endif
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/main/main.cc linuxconf-1.16r3.3/main/main.cc
*** linuxconf-1.16r3.2/main/main.cc Thu Sep 16 20:10:33 1999
--- linuxconf-1.16r3.3/main/main.cc Wed Sep 22 21:30:12 1999
***************
*** 101,104 ****
--- 101,105 ----
" --update\n"
" --vdb ...\n"
+ " --version\n"
)));
tb.add (new SSTRING(netconf_getusage()));
***************
*** 239,242 ****
--- 240,248 ----
}else if (argc == 2 && strcmp(argv[1],"--help")==0){
usage();
+ }else if (argc == 2 && strcmp(argv[1],"--version")==0){
+ char version[80];
+ linuxconf_formatversion(version);
+ printf ("%s\n%s\n",version
+ ,MSG_U(MOREINFO,"For more information, please use linuxconf --help"));
}else if (argc >= 2 && strcmp(argv[1],"--archive")==0){
if (perm_rootaccess(MSG_U(P_ARCHIVE,"archive config files"))){
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/main/main.m linuxconf-1.16r3.3/main/main.m
*** linuxconf-1.16r3.2/main/main.m Thu Sep 16 20:10:04 1999
--- linuxconf-1.16r3.3/main/main.m Wed Sep 22 21:30:20 1999
***************
*** 3,7 ****
#define DICTIONARY_REQUEST \
const char **_dictionary_main;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_main("main",_dictionary_main,96,13);\
void dummy_dict_main(){}
#endif
--- 3,7 ----
#define DICTIONARY_REQUEST \
const char **_dictionary_main;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_main("main",_dictionary_main,98,13);\
void dummy_dict_main(){}
#endif
***************
*** 110,111 ****
--- 110,113 ----
#define E_NOM68KMODEL 94
#define P_LISTCONFIG 95
+ #define SUBREV 96
+ #define MOREINFO 97
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/main/main.p linuxconf-1.16r3.3/main/main.p
*** linuxconf-1.16r3.2/main/main.p Thu Sep 10 16:53:48 1998
--- linuxconf-1.16r3.3/main/main.p Wed Sep 22 21:33:22 1999
***************
*** 1,4 ****
! /* _dict.cc 14/08/96 16.46.56 */
! /* linuxconf.cc 10/09/98 16.53.22 */
void linuxconf_boot (void);
const char *linuxconf_getkeymap (void);
--- 1,4 ----
! /* _dict.cc 14/08/1996 16.46.56 */
! /* linuxconf.cc 22/09/1999 21.32.08 */
void linuxconf_boot (void);
const char *linuxconf_getkeymap (void);
***************
*** 7,15 ****
void linuxconf_recordkeymap (const char *map);
void linuxconf_editctrl (void);
void linuxconf_setmaintitle (char title[80], char sidetitle[80]);
void linuxconf_mainmenu (bool dontcheck);
void linuxconf_main (bool dontcheck);
void linuxconf_gettree (SSTRINGS&keys, SSTRINGS&titles);
! /* main.cc 20/07/98 13.36.54 */
! /* notice.cc 18/02/98 01.00.54 */
void notice_show (void);
--- 7,16 ----
void linuxconf_recordkeymap (const char *map);
void linuxconf_editctrl (void);
+ void linuxconf_formatversion (char version[80]);
void linuxconf_setmaintitle (char title[80], char sidetitle[80]);
void linuxconf_mainmenu (bool dontcheck);
void linuxconf_main (bool dontcheck);
void linuxconf_gettree (SSTRINGS&keys, SSTRINGS&titles);
! /* main.cc 22/09/1999 21.30.12 */
! /* notice.cc 18/02/1998 01.00.54 */
void notice_show (void);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/main/main.pm linuxconf-1.16r3.3/main/main.pm
*** linuxconf-1.16r3.2/main/main.pm Thu Sep 10 16:53:48 1998
--- linuxconf-1.16r3.3/main/main.pm Wed Sep 22 21:33:22 1999
***************
*** 1,4 ****
! /* _dict.cc 14/08/96 16.46.56 */
! /* linuxconf.cc 10/09/98 16.53.22 */
! /* main.cc 20/07/98 13.36.54 */
! /* notice.cc 18/02/98 01.00.54 */
--- 1,4 ----
! /* _dict.cc 14/08/1996 16.46.56 */
! /* linuxconf.cc 22/09/1999 21.32.08 */
! /* main.cc 22/09/1999 21.30.12 */
! /* notice.cc 18/02/1998 01.00.54 */
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/apache.dic linuxconf-1.16r3.3/messages/fr/apache.dic
*** linuxconf-1.16r3.2/messages/fr/apache.dic Mon Aug 23 18:08:52 1999
--- linuxconf-1.16r3.3/messages/fr/apache.dic Thu Sep 23 17:58:56 1999
***************
*** 1,6 ****
@version 2
!T_DOMAINS
! :T Machines virtuelles\tNom du serveur
! :E Virtual hosts\tServer name
!F_IP
:E Domain IP address
--- 1,6 ----
@version 2
!T_DOMAINS
! :T Machine virtuelle\tNom du serveur
! :E Virtual host\tServer name
!F_IP
:E Domain IP address
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/dialog.dic linuxconf-1.16r3.3/messages/fr/dialog.dic
*** linuxconf-1.16r3.2/messages/fr/dialog.dic Fri Apr 9 15:43:56 1999
--- linuxconf-1.16r3.3/messages/fr/dialog.dic Thu Sep 23 17:59:53 1999
***************
*** 1,3 ****
--- 1,12 ----
@version 0
+ !T_PICKHELP
+ :E Pick a help file
+ :T Sélectionner un fichier d'aide
+ !H_HELPFILES
+ :E Help file\tTitle
+ :T Fichier d'aide\tTitre
+ !T_MAINHELP
+ :E Main topic
+ :T Sujet principal
!E_NOHELPFILE
:T Le fichier d'aide %s n'est pas encore écrit
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/dialout.dic linuxconf-1.16r3.3/messages/fr/dialout.dic
*** linuxconf-1.16r3.2/messages/fr/dialout.dic Mon Aug 23 18:18:31 1999
--- linuxconf-1.16r3.3/messages/fr/dialout.dic Thu Sep 23 18:31:52 1999
***************
*** 1,3 ****
--- 1,9 ----
@version 0
+ !T_USERPRIVI
+ :E Privileges: Dialout (PPP)
+ :T Privilèges: Appels sortants (PPP)
+ !I_USEDEFAULT
+ :E Use default
+ :T Conf par défaut
!P_RUNCMD
:T Exécution des commandes de pré-connexion et pré-déconnexion
***************
*** 149,153 ****
!F_PPP_MANUAL
:E Manual
! :T Manuelle
!F_PPP_DEMAND
:E On demand
--- 155,159 ----
!F_PPP_MANUAL
:E Manual
! :T Manuel
!F_PPP_DEMAND
:E On demand
***************
*** 155,159 ****
!F_PPP_24on24
:E On boot
! :T Au démarrage
!F_PPPTYPE
:E Operation mode
--- 161,165 ----
!F_PPP_24on24
:E On boot
! :T Au boot
!F_PPPTYPE
:E Operation mode
***************
*** 182,186 ****
!F_LOGINOK
:E Expected welcome (opt)
! :T Message de bienvenue attendu (opt)
!F_TRIGGER
:E Trigger command (opt)
--- 188,192 ----
!F_LOGINOK
:E Expected welcome (opt)
! :T Mes. de bienvenue attendu (opt)
!F_TRIGGER
:E Trigger command (opt)
***************
*** 341,345 ****
!F_PROXYARP
:E Proxy Arp (fake remote on local net)
! :T Proxy Arp (simuler un hote distant sur le réseau local)
!B_CONNECT
:E Connect
--- 347,351 ----
!F_PROXYARP
:E Proxy Arp (fake remote on local net)
! :T Proxy Arp (simule un hote dist en loc.)
!B_CONNECT
:E Connect
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/dnsconf.dic linuxconf-1.16r3.3/messages/fr/dnsconf.dic
*** linuxconf-1.16r3.2/messages/fr/dnsconf.dic Mon Aug 23 17:37:41 1999
--- linuxconf-1.16r3.3/messages/fr/dnsconf.dic Thu Sep 23 18:23:01 1999
***************
*** 1,3 ****
--- 1,22 ----
@version 0
+ !N_DNSUPDATED
+ :T Le DNS a été mis à jour (changé)
+ :E The DNS has been updated (changed)
+ !I_BASICCONFLICT
+ :E The current record is conflicting with\n
+ +with the basic host information screen.\n
+ +Either fix this screen or the basic host information\n
+ +\n
+ +The basic host information screen associates the following\n
+ +IP numbers to the host %s\n
+ :T L'enregistrement actuel est en conflit avec\n
+ +les informations de base de la machine.\n
+ +Changez soit cet écran, soit celui de l'information de base de la machine\n
+ +\n
+ +Les informations de base de la machine associent les adresses IP\n
+ +suivantes à la machine %s\n
+ !Q_UPDATEANYWAY
+ :E Do you still want to update the DNS ?
+ :T Voulez-vous quand même mettre à jour le DNS ?
!N_DNSUSAGE
:T Modules dnsconf\n
***************
*** 259,265 ****
:E Domain Name Server (DNS)
:T Domain Name Server (DNS)
- !N_DNSUPDATED
- :E The DNS has been updated
- :T Le DNS a été mis à jour
!F_SEARCHLIST
:E Search list
--- 278,281 ----
***************
*** 531,544 ****
!F_NAMESERV1
:E nameserver 1
! :T serveur de nom 1
!F_NAMESERV2
:E nameserver 2 (opt)
! :T serveur de nom 2 (opt)
!F_NAMESERV3
:E nameserver 3 (opt)
! :T serveur de nom 3 (opt)
!F_SEARCHDOM
:E search domain %d (opt)
! :T domaine cherché %d (opt)
!T_RESOLVCONF
:E Resolver configuration
--- 547,560 ----
!F_NAMESERV1
:E nameserver 1
! :T ip du serveur de nom 1
!F_NAMESERV2
:E nameserver 2 (opt)
! :T ip du serveur de nom 2 (opt)
!F_NAMESERV3
:E nameserver 3 (opt)
! :T ip du serveur de nom 3 (opt)
!F_SEARCHDOM
:E search domain %d (opt)
! :T domaine de recherche (opt)
!T_RESOLVCONF
:E Resolver configuration
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/mailconf.dic linuxconf-1.16r3.3/messages/fr/mailconf.dic
*** linuxconf-1.16r3.2/messages/fr/mailconf.dic Mon Aug 23 17:49:52 1999
--- linuxconf-1.16r3.3/messages/fr/mailconf.dic Thu Sep 23 18:06:05 1999
***************
*** 1,3 ****
--- 1,12 ----
@version 0
+ !T_VDOMPRIVI
+ :E Privileges: Virtual email domains
+ :T Privilèges: Domaines de mail virtuels
+ !E_REDEUNDANT
+ :E Useless alias: alias %s points to account %s
+ :T Alias inutile: L'alias %s pointe sur le compte %s
+ !E_LOOPING
+ :E Can't redirect emails to the same account\n(Alias looping)
+ :T Ne peut rediriger les mails sur le même compte\n(Boucle d'alias)
!F_ID
:T ID de message
***************
*** 27,31 ****
:T Ce message est actuellement dans la file d'attente de sendmail.\n
+Vous pouvez l'effacer de la file d'attente si vous voulez.\n
! +*** Etes-vous vraiment sur(e) ? ***
!T_MAILQ
:E Mail queue
--- 36,40 ----
:T Ce message est actuellement dans la file d'attente de sendmail.\n
+Vous pouvez l'effacer de la file d'attente si vous voulez.\n
! +*** Etes-vous vraiment sur(e) ? ***
!T_MAILQ
:E Mail queue
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/main.dic linuxconf-1.16r3.3/messages/fr/main.dic
*** linuxconf-1.16r3.2/messages/fr/main.dic Wed May 26 18:31:52 1999
--- linuxconf-1.16r3.3/messages/fr/main.dic Thu Sep 23 18:09:04 1999
***************
*** 1,26 ****
@version 0
- !F_USELYNX
- :E Use lynx to display help
- :T Utiliser lynx pour affficher l'aide
- !N_BUILDTREE
- :T Linuxconf va maintenant calculer la nouvel arborescence du menu.\n
- +Cela peut prendre plusieurs secondes.\n
- +Linuxconf fait cela soit parce que vous avez upgradé Linuxconf\n
- +soit parce que vous avez installé un nouveau module.
- :E Linuxconf will now compute its menu tree.\n
- +This may take a few seconds.\n
- +Linuxconf does this either because you have upgraded linuxconf\n
- +itself or because you have installed a new module.
- !E_NOMISCSERV
- :E No misc services registered
- :T Pas de services divers enregistrés
- !T_MISCSERV
- :E Miscellaneous services
- :T Services divers
- !MNU_MISCSERV
- :E Miscellaneous services
- :T Services divers
!I_USAGE
! :E linuxconf main command line options\n
+ --archive [ sub-systems ... ]\n
+ --demo\n
--- 1,5 ----
@version 0
!I_USAGE
! :T options en ligne de commande de linuxconf\n
+ --archive [ sub-systems ... ]\n
+ --demo\n
***************
*** 43,48 ****
+ --unsetmod modulename_or_path\n
+ --update\n
! + --vdb ...\n
! :T options en ligne de commande de linuxconf\n
+ --archive [ sub-systems ... ]\n
+ --demo\n
--- 22,28 ----
+ --unsetmod modulename_or_path\n
+ --update\n
! + --vdb\n
! + --version ...\n
! :E linuxconf main command line options\n
+ --archive [ sub-systems ... ]\n
+ --demo\n
***************
*** 56,59 ****
--- 36,40 ----
+ --helpfile\n
+ --http\n
+ + --listconfig\n
+ --md5sum [ sub-systems ... ]\n
+ --modulemain modulename [ args ... ]\n
***************
*** 65,69 ****
+ --unsetmod modulename_or_path\n
+ --update\n
! + --vdb ...\n
!I_CMDLINE
:E Command line usage
--- 46,90 ----
+ --unsetmod modulename_or_path\n
+ --update\n
! + --vdb\n
! + --version ...\n
! !E_BADM68KMODEL
! :E Unknown m68k model
! :T Model 68k inconnu
! !E_NOM68KMODEL
! :E Cannot determine m68k model (/proc not mounted?)
! :T Impossible de déterminer le modèle 68k (/proc non monté?)
! !P_LISTCONFIG
! :E list configuration files
! :T liste des fichiers de configuration
! !THISTITLE
! :E This is Linuxconf
! :T Ceci est Linuxconf
! !SUBREV
! :E subrev
! :T sous-révision
! !MOREINFO
! :E For more information, please use linuxconf --help
! :T Pour plus d'information, merci d'utiliser linuxconf --help
! !F_USELYNX
! :E Use lynx to display help
! :T Utiliser lynx pour affficher l'aide
! !N_BUILDTREE
! :T Linuxconf va maintenant calculer la nouvel arborescence du menu.\n
! +Cela peut prendre plusieurs secondes.\n
! +Linuxconf fait cela soit parce que vous avez upgradé Linuxconf\n
! +soit parce que vous avez installé un nouveau module.
! :E Linuxconf will now compute its menu tree.\n
! +This may take a few seconds.\n
! +Linuxconf does this either because you have upgraded linuxconf\n
! +itself or because you have installed a new module.
! !E_NOMISCSERV
! :E No misc services registered
! :T Pas de services divers enregistrés
! !T_MISCSERV
! :E Miscellaneous services
! :T Services divers
! !MNU_MISCSERV
! :E Miscellaneous services
! :T Services divers
!I_CMDLINE
:E Command line usage
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/modemconf.dic linuxconf-1.16r3.3/messages/fr/modemconf.dic
*** linuxconf-1.16r3.2/messages/fr/modemconf.dic Wed Dec 31 19:00:00 1969
--- linuxconf-1.16r3.3/messages/fr/modemconf.dic Thu Sep 23 18:11:44 1999
***************
*** 0 ****
--- 1,29 ----
+ @version 0
+ !M_modemconf
+ :E Modem
+ :T Modem
+ !T_USAGE
+ :E linuxconf --modulemain modemconf\n
+ +\n
+ + modemconf --option ...\n
+ +\n
+ + without argument start the interactive mode\n
+ :T linuxconf --modulemain modemconf\n
+ +\n
+ + modemconf --option ...\n
+ +\n
+ + sans argument, lance le mode interactif\n
+ !F_DEVICE
+ :E /dev/ttyS%d (COM%d under DOS)
+ :T /dev/ttyS%d (COM%d sous DOS)
+ !F_UNKNOWN
+ :E Unknown
+ :T Inconnu
+ !T_MODEMCONF
+ :E Modem Configurator
+ :T Configurateur de modem
+ !I_MODEMCONF
+ :E Select the port to which your modem is connected.\n
+ +If you have no modem, select
+ :T Sélectionner le port sur lequel votre modem est connecté.\n
+ +Si vous n'avez pas de modem, sélectionner
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/netconf.dic linuxconf-1.16r3.3/messages/fr/netconf.dic
*** linuxconf-1.16r3.2/messages/fr/netconf.dic Mon Aug 23 18:02:03 1999
--- linuxconf-1.16r3.3/messages/fr/netconf.dic Thu Sep 23 18:29:19 1999
***************
*** 1,3 ****
--- 1,21 ----
@version 0
+ !I_ONESERVICE
+ :T Vous pouvez (dés)activer un service ou vous pouvez le démarrer\n
+ +ou l'arrêter à la main
+ :E You can enable/disable a service\nor you can start and stop it manually
+ !I_HTMLACCESS
+ :Z You can specify which networks or hosts are allowed\n
+ +to access linuxconf to configure your computer\n
+ +(They need a password still)\n
+ :T Vous pouvez spécifier quels réseaux et machines sont autorisés\n
+ +à accéder à Linuxconf pour configurer votre ordinateur\n
+ +(Un mot de passe est cependant toujours nécessaire)\n
+ +Linuxconf écoute sur le port 98. Faites pointer votre navigateur sur\n
+ +http://votre_machine:98/
+ :E You can specify which networks or hosts are allowed\n
+ +to access linuxconf to configure your computer\n
+ +(They need a password still)\n
+ +Linuxconf listen on port 98. Point your browser to\n
+ +http://your_machine:98/
!F_IPXNETNUM
:T Numéro de réseau (hexa)
***************
*** 28,34 ****
:E Control one service
:T Contrôler un service
- !I_ONESERVICE
- :E You can enable/disable a serviceor you can start and stop it manually
- :T Vous pouvez (dés)activer un service ou vous pouvez le démarrer\nou l'arrêter à la main
!I_PROBE
:E Probe
--- 46,49 ----
***************
*** 204,211 ****
!F_DNSNEEDED
:E DNS usage
! :T Usage DNS
!M_DNSNEEDED
:E DNS is required for normal operation
! :T Le DNS est requis en utilisation normale
!F_DEFDOM
:E default domain
--- 219,226 ----
!F_DNSNEEDED
:E DNS usage
! :T Utilisation du DNS
!M_DNSNEEDED
:E DNS is required for normal operation
! :T Le DNS est normalement requis
!F_DEFDOM
:E default domain
***************
*** 213,223 ****
!F_NAMESERV1
:E nameserver 1
! :T nom de domaine 1
!F_NAMESERV2
:E nameserver 2 (opt)
! :T nom de domaine 2 (opt)
!F_NAMESERV3
:E nameserver 3 (opt)
! :T nom de domaine 3 (opt)
!F_SEARCHDOM
:E search domain %d (opt)
--- 228,238 ----
!F_NAMESERV1
:E nameserver 1
! :T IP du serveur de nom 1
!F_NAMESERV2
:E nameserver 2 (opt)
! :T IP du serveur de nom 2 (opt)
!F_NAMESERV3
:E nameserver 3 (opt)
! :T IP du serveur de nom 3 (opt)
!F_SEARCHDOM
:E search domain %d (opt)
***************
*** 1586,1596 ****
:E Linuxconf html access control
:T Contrôle d'accès de Linuxconf html
- !I_HTMLACCESS
- :E You can specify which networks or hosts are allowed\n
- +to access linuxconf to configure your computer\n
- +(They need a password still)\n
- :T Vous pouvez spécifier quels réseaux et machines sont autorisés\n
- +à accéder à Linuxconf pour configurer votre ordinateur\n
- +(Un mot de passe est cependant toujours nécessaire)\n
!E_IVLDHOSTNET
:E invalid host or network: %s\n
--- 1601,1604 ----
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/redhat.dic linuxconf-1.16r3.3/messages/fr/redhat.dic
*** linuxconf-1.16r3.2/messages/fr/redhat.dic Mon Aug 23 18:16:08 1999
--- linuxconf-1.16r3.3/messages/fr/redhat.dic Thu Sep 23 18:13:52 1999
***************
*** 1,3 ****
--- 1,7 ----
@version 0
+ !I_ONESERVICE
+ :Z You can enable/disable a serviceor you can start and stop it manually
+ :T Vous pouvez (dés)activer un service\nou vous pouvez démarrer ou en arrêter un à la main
+ :E You can enable/disable a service\nor you can start and stop it manually
!F_STATUS
:E Status
***************
*** 6,12 ****
:E Service %s
:T Service %s
- !I_ONESERVICE
- :E You can enable/disable a serviceor you can start and stop it manually
- :T Vous pouvez (dés)activer un service ou vous pouvez démarrer ou en arrêter un à la main
!B_START
:E Start
--- 10,13 ----
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/redhatppp.dic linuxconf-1.16r3.3/messages/fr/redhatppp.dic
*** linuxconf-1.16r3.2/messages/fr/redhatppp.dic Mon Jan 11 18:41:24 1999
--- linuxconf-1.16r3.3/messages/fr/redhatppp.dic Thu Sep 23 18:16:29 1999
***************
*** 1,3 ****
--- 1,18 ----
@version 0
+ !T_CONFIGS
+ :T Périphérique logique\tNom de la configuration
+ :E Logical device\tConfiguration name
+ !T_CONFIGSTATUS
+ :T Périphérique logique\tNom de la configuration\tEtat
+ :E Logical device\tConfiguration name\tStatus
+ !F_CONFIGNAME
+ :E Configuration name
+ :T Nom de la configuration
+ !F_LINKSETUP
+ :E Link setup
+ :T Configuration du lien
+ !I_LINKSETUP
+ :E PPP does all authentication
+ :T PPP fait toute l'authentification
!T_USAGE
:T Module redhatppp\n\n Pas d'option en ligne de commande\n
***************
*** 42,48 ****
:E PPP options
:T options PPP
- !T_CONFIGS
- :E Configurations
- :T Configurations
!T_PPPSLIPCONF
:E PPP/Slip/Plip configurations
--- 57,60 ----
***************
*** 147,153 ****
:E Invalid IP address or netmask
:T Adresse IP ou masque de réseau invalide
- !T_CONFIGSTATUS
- :E Configuration\tStatus
- :T Configuration\tStatut
!I_CONNECTED
:E Connected
--- 159,162 ----
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/samba.dic linuxconf-1.16r3.3/messages/fr/samba.dic
*** linuxconf-1.16r3.2/messages/fr/samba.dic Mon Aug 23 18:06:57 1999
--- linuxconf-1.16r3.3/messages/fr/samba.dic Thu Sep 23 18:17:03 1999
***************
*** 1,3 ****
--- 1,6 ----
@version 1
+ !F_RESOLVEORDER
+ :E Name resolve order
+ :T Ordre de la résolution de nom
!I_NEVER
:E Never
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/userconf.dic linuxconf-1.16r3.3/messages/fr/userconf.dic
*** linuxconf-1.16r3.2/messages/fr/userconf.dic Mon Aug 23 18:03:06 1999
--- linuxconf-1.16r3.3/messages/fr/userconf.dic Thu Sep 23 18:21:34 1999
***************
*** 1,3 ****
--- 1,12 ----
@version 0
+ !T_USERPRIVI
+ :E Privileges: introduction
+ :T Privilèges: introduction
+ !T_GENPRIVI
+ :E Privileges: General system control
+ :T Privilèges: Contrôle général du système
+ !T_USERADMPRIVI
+ :E Privileges: User accounts
+ :T Privilèges: Comptes utilisateurs
!T_YOURNAME
:T Votre ID de compte
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/fr/wuftpd.dic linuxconf-1.16r3.3/messages/fr/wuftpd.dic
*** linuxconf-1.16r3.2/messages/fr/wuftpd.dic Mon Jan 11 18:55:01 1999
--- linuxconf-1.16r3.3/messages/fr/wuftpd.dic Thu Sep 23 18:20:21 1999
***************
*** 3,16 ****
:T Module wuftpd\n
+\n
- + Sans argument, entre dans le menu principal du module\n
+ --help\n
+ --addvhost vhost --root path\n
+ --delvhost vhost\n
:E Module wuftpd\n
+\n
- + Without argument, enter the module main menu\n
+ --help\n
+ --addvhost vhost --root path\n
+ --delvhost vhost\n
!I_DELREC
:T Sélectionnez [Effacer] pour effacer cet enregistrement
--- 3,31 ----
:T Module wuftpd\n
+\n
+ --help\n
+ --addvhost vhost --root path\n
+ --delvhost vhost\n
+ +\n
+ + Sans argument, entre dans le menu principal du module\n
:E Module wuftpd\n
+\n
+ --help\n
+ --addvhost vhost --root path\n
+ --delvhost vhost\n
+ +\n
+ + without argument, enter the module main menu\n
+ !E_NOANONYMOUSDIR
+ :E There is no anonymous ftp environment installed on this system\n
+ +Linuxconf is using it as a template\n
+ +to setup the virtual host anonymous directory\n
+ +\n
+ +Linuxconf expects the anonymous ftp directory in\n
+ +%s
+ :T Il y a un environnement de serveur ftp anonyme\n
+ +installé sur ce système. Linuxconf va l'utiliser comme modèle\n
+ +pour configurer le répertoire anonyme de la machine virtuelle\n
+ +\n
+ +Linuxconf s'attends à trouver le répertoire anonyme dans\n
+ +%s
!I_DELREC
:T Sélectionnez [Effacer] pour effacer cet enregistrement
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/mailconf.dic linuxconf-1.16r3.3/messages/sources/mailconf.dic
*** linuxconf-1.16r3.2/messages/sources/mailconf.dic Thu Sep 16 22:48:53 1999
--- linuxconf-1.16r3.3/messages/sources/mailconf.dic Sun Oct 3 22:38:53 1999
***************
*** 530,533 ****
--- 530,535 ----
+ [--faliase email_aliase_file] [ --quota max_inbox_k] \n
+ --delvdom domain\n
+ + --addvuser domain id name\n
+ + --delvuser domain id\n
!F_REDIR
:E Redirect messages to
***************
*** 595,596 ****
--- 597,600 ----
!E_LOOPING
:E Can't redirect emails to the same account\n(Alias looping)
+ !E_NOVDOMAIN
+ :E Virtual email domain %s does not exist\n
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/main.dic linuxconf-1.16r3.3/messages/sources/main.dic
*** linuxconf-1.16r3.2/messages/sources/main.dic Thu Sep 16 20:10:04 1999
--- linuxconf-1.16r3.3/messages/sources/main.dic Wed Sep 22 21:30:20 1999
***************
*** 222,225 ****
--- 222,226 ----
+ --update\n
+ --vdb ...\n
+ + --version\n
!I_CMDLINE
:E Command line usage
***************
*** 232,233 ****
--- 233,238 ----
!P_LISTCONFIG
:E list configuration files
+ !SUBREV
+ :E subrev
+ !MOREINFO
+ :E For more information, please use linuxconf --help
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/misc.dic linuxconf-1.16r3.3/messages/sources/misc.dic
*** linuxconf-1.16r3.2/messages/sources/misc.dic Sat Aug 14 00:47:07 1999
--- linuxconf-1.16r3.3/messages/sources/misc.dic Thu Sep 23 13:46:51 1999
***************
*** 1,3 ****
! @version 4
!E_SETOWNER
:E Can't set ownership of file\n%s\n\nUser %s does not exist\n
--- 1,3 ----
! @version 5
!E_SETOWNER
:E Can't set ownership of file\n%s\n\nUser %s does not exist\n
***************
*** 56,61 ****
!I_DELRECORD
:E Are you sure you want to delete this record ?
- !F_MODPATH
- !F_MODACTIVE
!I_EMPTYSLOT
:E Select [Add] to add one empty slot in the dialog
--- 56,59 ----
***************
*** 85,89 ****
:E File did not exist, erasing %s\n
!F_CONFVERMODE
! :E Operation mode
!I_AUTO
:E Automatic
--- 83,87 ----
:E File did not exist, erasing %s\n
!F_CONFVERMODE
! :E Archiving mode
!I_AUTO
:E Automatic
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/netadm.dic linuxconf-1.16r3.3/messages/sources/netadm.dic
*** linuxconf-1.16r3.2/messages/sources/netadm.dic Wed Jan 6 21:33:26 1999
--- linuxconf-1.16r3.3/messages/sources/netadm.dic Thu Sep 23 00:13:45 1999
***************
*** 111,112 ****
--- 111,116 ----
!T_EXPORTOK
:E Export completed
+ !I_DEBUG
+ :E Enable protocol debuggin
+ !H_GROUPES
+ :E Groupe ID\tDescription
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/netconf.dic linuxconf-1.16r3.3/messages/sources/netconf.dic
*** linuxconf-1.16r3.2/messages/sources/netconf.dic Thu Sep 16 17:56:19 1999
--- linuxconf-1.16r3.3/messages/sources/netconf.dic Fri Sep 24 00:03:04 1999
***************
*** 942,950 ****
:E default domain
!F_NAMESERV1
! :E nameserver 1
!F_NAMESERV2
! :E nameserver 2 (opt)
!F_NAMESERV3
! :E nameserver 3 (opt)
!F_SEARCHDOM
:E search domain %d (opt)
--- 942,950 ----
:E default domain
!F_NAMESERV1
! :E IP of name server 1
!F_NAMESERV2
! :E IP of name server 2 (opt)
!F_NAMESERV3
! :E IP of name server 3 (opt)
!F_SEARCHDOM
:E search domain %d (opt)
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/userconf.dic linuxconf-1.16r3.3/messages/sources/userconf.dic
*** linuxconf-1.16r3.2/messages/sources/userconf.dic Wed Sep 8 21:41:43 1999
--- linuxconf-1.16r3.3/messages/sources/userconf.dic Wed Sep 29 14:22:30 1999
***************
*** 1,3 ****
! @version 13
!E_GROUPEXIST
:E Group already exist\n
--- 1,3 ----
! @version 14
!E_GROUPEXIST
:E Group already exist\n
***************
*** 271,276 ****
!E_ROOTPASS
:E You are not allowed to change root's password\nin demo mode.
- !E_NONAME
- :E No login name supplied
!M_EALIAS
:E Email aliases
--- 271,274 ----
***************
*** 548,549 ****
--- 546,555 ----
!T_USERADMPRIVI
:E Privileges: User accounts
+ !T_THISHELP
+ :E bla bla bla
+ !E_IVLDLOGINCHAR
+ :E Invalid character in login name.\n
+ +The following a illegal:\n
+ + space , : ( ) [ ] ' \" | & ;
+ !E_FAILCREATE
+ :E Can't create user account
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/messages/sources/usermenu.dic linuxconf-1.16r3.3/messages/sources/usermenu.dic
*** linuxconf-1.16r3.2/messages/sources/usermenu.dic Thu Apr 29 20:26:09 1999
--- linuxconf-1.16r3.3/messages/sources/usermenu.dic Sat Oct 2 22:00:02 1999
***************
*** 34,35 ****
--- 34,39 ----
!H_USERMENU
:E Id\tTitle
+ !F_ACCESSPRIV
+ :E Access privilege
+ !I_ACCESSPRIV
+ :E super user equivalence
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/configf.cc linuxconf-1.16r3.3/misc/configf.cc
*** linuxconf-1.16r3.2/misc/configf.cc Thu Sep 16 20:08:01 1999
--- linuxconf-1.16r3.3/misc/configf.cc Tue Sep 28 17:10:10 1999
***************
*** 138,141 ****
--- 138,158 ----
/*
+ Replace the original path name (the key to lookup the distribution
+ dependant path) of a config file.
+
+ This function is meant for contructor of derived class which
+ assemble on the fly the path of a config file.
+ See modules/mailconf/generate.cc.
+ */
+ PROTECTED void CONFIG_FILE::setkey(const char *newkey)
+ {
+ free ((char*)intern->key);
+ free ((char*)intern->stdpath);
+ free ((char*)intern->realpath);
+ intern->stdpath = NULL;
+ intern->realpath = NULL;
+ intern->key = strdup(newkey);
+ }
+ /*
Record the spec of a config file that is maintain (or used) by linuxconf
*/
***************
*** 388,391 ****
--- 405,409 ----
return ret;
}
+ static bool extracting = false;
/*
Open the configuration file with permission checking.
***************
*** 397,400 ****
--- 415,448 ----
FILE *ret = NULL;
fixpath();
+ if (strchr(mode,'w')!=NULL
+ || strchr(mode,'+')!=NULL
+ || strchr (mode,'a')!=NULL){
+ if (!extracting
+ && dialog_mode != DIALOG_TREE
+ && confver_getmode()){
+ if (is_archived()){
+ archive();
+ }else{
+ /*
+ This is probably a config file which is
+ archived in several sub-system. Lets try to
+ find out sub-file. They hold the same name
+ but with a suffix starting with -
+ */
+ CONFIG_FILE *pt = first;
+ const char *key = intern->key;
+ int keylen = strlen(key);
+ while (pt != NULL){
+ const char *ptkey = pt->intern->key;
+ if (strncmp(key,ptkey,keylen)==0
+ && ptkey[keylen] == '-'
+ && pt->is_virtual()){
+ pt->archive();
+ }
+ pt = pt->getnext();
+ }
+ }
+ }
+ }
/*
There is an odd interaction between CONFIG_FILE and xconf_fopencfg.
***************
*** 544,548 ****
}
! PROTECTED VIRTUAL int CONFIG_FILE::archive(SSTREAM &ss)
{
if (exist()){
--- 592,596 ----
}
! PROTECTED VIRTUAL int CONFIG_FILE::archive(SSTREAM &ss) const
{
if (exist()){
***************
*** 568,572 ****
Archive the config file if configured
*/
! PUBLIC VIRTUAL int CONFIG_FILE::archive()
{
int ret = -1;
--- 616,620 ----
Archive the config file if configured
*/
! PUBLIC VIRTUAL int CONFIG_FILE::archive() const
{
int ret = -1;
***************
*** 584,589 ****
argpath = intern->realpath + strlen(ui_context.basepath);
}
! sprintf (args,"%s %s %s",cfg_arg,argpath,arch);
! POPEN pop (cfg_command,args);
if (pop.isok()){
/* #Specification: config file / archiving / strategy
--- 632,639 ----
argpath = intern->realpath + strlen(ui_context.basepath);
}
! const char *comm = cfg_command == NULL ? "cfgarchive" : cfg_command;
! const char *carg = cfg_arg == NULL ? "--arch" : cfg_arg;
! sprintf (args,"%s %s %s",carg,argpath,arch);
! POPEN pop (comm,args);
if (pop.isok()){
/* #Specification: config file / archiving / strategy
***************
*** 1081,1084 ****
--- 1131,1136 ----
void configf_list()
{
+ // Setup the list of all config file, including dynamic one
+ CONFIG_FILE *original_first = configf_calllisters();
int nbconfig = 0;
{
***************
*** 1102,1105 ****
--- 1154,1160 ----
,strcmp(path,stdp)== 0 ? "" : stdp);
}
+ // The CONFIG_FILE object are responsible from removing themselves
+ // from the list
+ while (first != original_first) delete first;
}
***************
*** 1172,1177 ****
cfg_ssout = &ssout;
int ret = 0;
! net_prtlog (NETLOG_SECTION,MSG_U(I_ARCHCONF,"Archiving %s\n")
! ,confver_getcur());
CONFIG_FILE *original_first = configf_calllisters();
int nbsys = tb.getnb();
--- 1227,1234 ----
cfg_ssout = &ssout;
int ret = 0;
! if (verbose){
! net_prtlog (NETLOG_SECTION,MSG_U(I_ARCHCONF,"Archiving %s\n")
! ,confver_getcur());
! }
CONFIG_FILE *original_first = configf_calllisters();
int nbsys = tb.getnb();
***************
*** 1184,1187 ****
--- 1241,1246 ----
// from the list
while (first != original_first) delete first;
+ cfg_command = NULL;
+ cfg_arg = NULL;
return ret;
}
***************
*** 1211,1214 ****
--- 1270,1274 ----
// normally --extr
{
+ extracting = true;
cfg_command = command;
cfg_arg = arg;
***************
*** 1250,1253 ****
--- 1310,1316 ----
linuxconf_save();
while (first != original_first) delete first;
+ cfg_command = NULL;
+ cfg_arg = NULL;
+ extracting = false;
return ret;
}
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/configf.h linuxconf-1.16r3.3/misc/configf.h
*** linuxconf-1.16r3.2/misc/configf.h Thu Jun 18 22:28:59 1998
--- linuxconf-1.16r3.3/misc/configf.h Thu Sep 23 12:31:31 1999
***************
*** 48,52 ****
#define CONFIGF_VIRTUAL 256 // Logical view of a configuration file
// used for archiving and remote admin
! #define CONFIGF_DIST 512 // The file is not archived directory
// but is distributed in various sub-systems
#define CONFIGF_TMPLOCK 1024 // The file is saved in a temporary file
--- 48,52 ----
#define CONFIGF_VIRTUAL 256 // Logical view of a configuration file
// used for archiving and remote admin
! #define CONFIGF_DIST 512 // The file is not archived directly
// but is distributed in various sub-systems
#define CONFIGF_TMPLOCK 1024 // The file is saved in a temporary file
***************
*** 88,94 ****
const char *_subsys);
protected:
! virtual int archive (SSTREAM&ss);
public:
! virtual int archive (void);
int create (void)const;
int editpath (void);
--- 88,94 ----
const char *_subsys);
protected:
! virtual int archive (SSTREAM&ss)const;
public:
! virtual int archive (void)const;
int create (void)const;
int editpath (void);
***************
*** 136,139 ****
--- 136,142 ----
virtual int md5sum (char *sum);
int relink_tmp (void);
+ protected:
+ void setkey (const char *newkey);
+ public:
int setperm (const char *fpath)const;
private:
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/linuxconf.cc linuxconf-1.16r3.3/misc/linuxconf.cc
*** linuxconf-1.16r3.2/misc/linuxconf.cc Thu Sep 16 18:14:13 1999
--- linuxconf-1.16r3.3/misc/linuxconf.cc Thu Sep 23 15:19:17 1999
***************
*** 197,202 ****
CONFIG_FILE_LINUXCONF (const char *_path,
const char *_subsys);
! int archive (SSTREAM&ss);
! int archive (void);
int extract (SSTREAM&ss);
int extract (void);
--- 197,202 ----
CONFIG_FILE_LINUXCONF (const char *_path,
const char *_subsys);
! int archive (SSTREAM&ss)const;
! int archive (void)const;
int extract (SSTREAM&ss);
int extract (void);
***************
*** 212,221 ****
}
! PUBLIC int CONFIG_FILE_LINUXCONF::archive (SSTREAM &ss)
{
linuxconf_init();
return ui_context.tb->archive (ss,subsys);
}
! PUBLIC int CONFIG_FILE_LINUXCONF::archive ()
{
return CONFIG_FILE::archive();
--- 212,221 ----
}
! PUBLIC int CONFIG_FILE_LINUXCONF::archive (SSTREAM &ss) const
{
linuxconf_init();
return ui_context.tb->archive (ss,subsys);
}
! PUBLIC int CONFIG_FILE_LINUXCONF::archive () const
{
return CONFIG_FILE::archive();
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/misc.m linuxconf-1.16r3.3/misc/misc.m
*** linuxconf-1.16r3.2/misc/misc.m Sat Aug 14 00:47:07 1999
--- linuxconf-1.16r3.3/misc/misc.m Thu Sep 23 13:46:51 1999
***************
*** 3,7 ****
#define DICTIONARY_REQUEST \
const char **_dictionary_misc;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_misc("misc",_dictionary_misc,73,4);\
void dummy_dict_misc(){}
#endif
--- 3,7 ----
#define DICTIONARY_REQUEST \
const char **_dictionary_misc;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_misc("misc",_dictionary_misc,71,5);\
void dummy_dict_misc(){}
#endif
***************
*** 36,88 ****
#define T_AREYOUSURE 20
#define I_DELRECORD 21
! #define F_MODPATH 22
! #define F_MODACTIVE 23
! #define I_EMPTYSLOT 24
! #define T_MODLIST 25
! #define I_MODLIST 26
! #define E_MODNOPATH 27
! #define E_LOADMOD 28
! #define E_COMPATMOD 29
! #define H_CONFIGP 30
! #define L_ARCHIVING 31
! #define M_SUBBASE 32
! #define M_NETCLIENT 33
! #define L_UNARCHIVING 34
! #define I_ERASING 35
! #define F_CONFVERMODE 36
! #define I_AUTO 37
! #define T_CONFIGS 38
! #define I_ADDVER 39
! #define I_CONFVER 40
! #define T_CONFVER 41
! #define T_NEWCONF 42
! #define E_CONFEXIST 43
! #define T_ONECONF 44
! #define I_ONECONF 45
! #define T_OFFICE 46
! #define T_HOME 47
! #define T_HOMEOFFICE 48
! #define M_HARDWARE 49
! #define F_TITLE 50
! #define T_PICKVER 51
! #define I_PICKVER 52
! #define I_ARCHCONF 53
! #define I_EXTRCONF 54
! #define I_KEEPINGOLD 55
! #define E_CFGVIRTUAL 56
! #define M_STATIONID 57
! #define M_NETACCESS 58
! #define M_PROFILEDEF 59
! #define E_ARCHFAILED 60
! #define F_DEFFAM 61
! #define T_HOMECONFIG 62
! #define T_OFFICECONFIG 63
! #define T_SUBSYS 64
! #define E_EXTRFORM 65
! #define E_EXTRFORMLOG 66
! #define I_CURVERIS 67
! #define M_USERACCOUNTS 68
! #define M_USERPRIV 69
! #define T_COMMON 70
! #define I_LASTVERIS 71
! #define E_APIVERSION 72
--- 36,86 ----
#define T_AREYOUSURE 20
#define I_DELRECORD 21
! #define I_EMPTYSLOT 22
! #define T_MODLIST 23
! #define I_MODLIST 24
! #define E_MODNOPATH 25
! #define E_LOADMOD 26
! #define E_COMPATMOD 27
! #define H_CONFIGP 28
! #define L_ARCHIVING 29
! #define M_SUBBASE 30
! #define M_NETCLIENT 31
! #define L_UNARCHIVING 32
! #define I_ERASING 33
! #define F_CONFVERMODE 34
! #define I_AUTO 35
! #define T_CONFIGS 36
! #define I_ADDVER 37
! #define I_CONFVER 38
! #define T_CONFVER 39
! #define T_NEWCONF 40
! #define E_CONFEXIST 41
! #define T_ONECONF 42
! #define I_ONECONF 43
! #define T_OFFICE 44
! #define T_HOME 45
! #define T_HOMEOFFICE 46
! #define M_HARDWARE 47
! #define F_TITLE 48
! #define T_PICKVER 49
! #define I_PICKVER 50
! #define I_ARCHCONF 51
! #define I_EXTRCONF 52
! #define I_KEEPINGOLD 53
! #define E_CFGVIRTUAL 54
! #define M_STATIONID 55
! #define M_NETACCESS 56
! #define M_PROFILEDEF 57
! #define E_ARCHFAILED 58
! #define F_DEFFAM 59
! #define T_HOMECONFIG 60
! #define T_OFFICECONFIG 61
! #define T_SUBSYS 62
! #define E_EXTRFORM 63
! #define E_EXTRFORMLOG 64
! #define I_CURVERIS 65
! #define M_USERACCOUNTS 66
! #define M_USERPRIV 67
! #define T_COMMON 68
! #define I_LASTVERIS 69
! #define E_APIVERSION 70
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/misc.p linuxconf-1.16r3.3/misc/misc.p
*** linuxconf-1.16r3.2/misc/misc.p Mon Sep 20 21:04:13 1999
--- linuxconf-1.16r3.3/misc/misc.p Thu Sep 23 15:19:17 1999
***************
*** 1,6 ****
/* _dict.cc 14/08/1996 14.39.06 */
/* array.cc 13/09/1998 01.13.12 */
! /* confdb.cc 20/09/1999 21.01.02 */
! /* configf.cc 16/09/1999 20.08.00 */
void configf_required (void);
void configf_forgetpath (void);
--- 1,6 ----
/* _dict.cc 14/08/1996 14.39.06 */
/* array.cc 13/09/1998 01.13.12 */
! /* confdb.cc 20/09/1999 21.04.42 */
! /* configf.cc 23/09/1999 14.26.20 */
void configf_required (void);
void configf_forgetpath (void);
***************
*** 126,130 ****
bool ipnum_validip (const char *aip, const char *netmask, bool ishost);
/* ipstuff.cc 07/04/1999 02.43.14 */
! /* linuxconf.cc 16/09/1999 18.14.12 */
void linuxconf_sethook (CONFDB * (*fct)(CONFDB *));
CONFDB *linuxconf_getdb (void);
--- 126,130 ----
bool ipnum_validip (const char *aip, const char *netmask, bool ishost);
/* ipstuff.cc 07/04/1999 02.43.14 */
! /* linuxconf.cc 23/09/1999 15.19.04 */
void linuxconf_sethook (CONFDB * (*fct)(CONFDB *));
CONFDB *linuxconf_getdb (void);
***************
*** 287,291 ****
void button_text2gif (const char *, FILE *);
void module_setmenu (class DIALOG&, MENU_CONTEXT);
! /* subsys.cc 20/12/1998 14.34.32 */
int subsys_getallsubsys (SSTRINGS&tb);
int subsys_getallsubsys (SSTRINGS&tb, SSTRINGS&titles);
--- 287,291 ----
void button_text2gif (const char *, FILE *);
void module_setmenu (class DIALOG&, MENU_CONTEXT);
! /* subsys.cc 23/09/1999 14.32.00 */
int subsys_getallsubsys (SSTRINGS&tb);
int subsys_getallsubsys (SSTRINGS&tb, SSTRINGS&titles);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/misc.pm linuxconf-1.16r3.3/misc/misc.pm
*** linuxconf-1.16r3.2/misc/misc.pm Mon Sep 20 21:04:13 1999
--- linuxconf-1.16r3.3/misc/misc.pm Thu Sep 23 15:19:17 1999
***************
*** 31,35 ****
PUBLIC int ARRAY::editone (int no);
PUBLIC int ARRAY::editone (ARRAY_OBJ *e);
! /* confdb.cc 20/09/1999 21.01.02 */
PUBLIC CONFOBJ::CONFOBJ (const char *_sys,
const char *_key,
--- 31,35 ----
PUBLIC int ARRAY::editone (int no);
PUBLIC int ARRAY::editone (ARRAY_OBJ *e);
! /* confdb.cc 20/09/1999 21.04.42 */
PUBLIC CONFOBJ::CONFOBJ (const char *_sys,
const char *_key,
***************
*** 110,114 ****
PUBLIC VIRTUAL int CONFDB::extract (SSTREAM&ss, const char *_sys);
PUBLIC void CONFDB::patchsys (void);
! /* configf.cc 16/09/1999 20.08.00 */
PUBLIC CONFIG_FILE_LISTER::CONFIG_FILE_LISTER (void (*f)());
PUBLIC CONFIG_FILE_INTERNAL::CONFIG_FILE_INTERNAL (HELP_FILE&_helpfile,
--- 110,114 ----
PUBLIC VIRTUAL int CONFDB::extract (SSTREAM&ss, const char *_sys);
PUBLIC void CONFDB::patchsys (void);
! /* configf.cc 23/09/1999 14.26.20 */
PUBLIC CONFIG_FILE_LISTER::CONFIG_FILE_LISTER (void (*f)());
PUBLIC CONFIG_FILE_INTERNAL::CONFIG_FILE_INTERNAL (HELP_FILE&_helpfile,
***************
*** 126,129 ****
--- 126,130 ----
int _perm,
const char *_subsys);
+ PROTECTED void CONFIG_FILE::setkey (const char *newkey);
PUBLIC CONFIG_FILE::CONFIG_FILE (const char *_path,
HELP_FILE&_helpfile,
***************
*** 166,171 ****
PUBLIC FILE *CONFIG_FILE::fopen (const char *temp,
const char *mode)const;
! PROTECTED VIRTUAL int CONFIG_FILE::archive (SSTREAM&ss);
! PUBLIC VIRTUAL int CONFIG_FILE::archive (void);
PUBLIC VIRTUAL int CONFIG_FILE::md5sum (char *sum);
PUBLIC VIRTUAL int CONFIG_FILE::extract (SSTREAM&ss);
--- 167,172 ----
PUBLIC FILE *CONFIG_FILE::fopen (const char *temp,
const char *mode)const;
! PROTECTED VIRTUAL int CONFIG_FILE::archive (SSTREAM&ss)const;
! PUBLIC VIRTUAL int CONFIG_FILE::archive (void)const;
PUBLIC VIRTUAL int CONFIG_FILE::md5sum (char *sum);
PUBLIC VIRTUAL int CONFIG_FILE::extract (SSTREAM&ss);
***************
*** 282,290 ****
PUBLIC const char *IPMAP::getcur (void);
PUBLIC void IPMAP::setuse (const IP_ADDR *adr);
! /* linuxconf.cc 16/09/1999 18.14.12 */
PUBLIC CONFIG_FILE_LINUXCONF::CONFIG_FILE_LINUXCONF (const char *_path,
const char *_subsys);
! PUBLIC int CONFIG_FILE_LINUXCONF::archive (SSTREAM&ss);
! PUBLIC int CONFIG_FILE_LINUXCONF::archive (void);
PUBLIC int CONFIG_FILE_LINUXCONF::extract (SSTREAM&ss);
PUBLIC int CONFIG_FILE_LINUXCONF::extract (void);
--- 283,291 ----
PUBLIC const char *IPMAP::getcur (void);
PUBLIC void IPMAP::setuse (const IP_ADDR *adr);
! /* linuxconf.cc 23/09/1999 15.19.04 */
PUBLIC CONFIG_FILE_LINUXCONF::CONFIG_FILE_LINUXCONF (const char *_path,
const char *_subsys);
! PUBLIC int CONFIG_FILE_LINUXCONF::archive (SSTREAM&ss)const;
! PUBLIC int CONFIG_FILE_LINUXCONF::archive (void)const;
PUBLIC int CONFIG_FILE_LINUXCONF::extract (SSTREAM&ss);
PUBLIC int CONFIG_FILE_LINUXCONF::extract (void);
***************
*** 443,447 ****
/* str6.cc 29/11/1997 13.38.50 */
/* stub.cc 07/09/1999 23.11.46 */
! /* subsys.cc 20/12/1998 14.34.32 */
PRIVATE void LINUXCONF_SUBSYS::init (const char *key);
PUBLIC LINUXCONF_SUBSYS::LINUXCONF_SUBSYS (const char *key,
--- 444,448 ----
/* str6.cc 29/11/1997 13.38.50 */
/* stub.cc 07/09/1999 23.11.46 */
! /* subsys.cc 23/09/1999 14.32.00 */
PRIVATE void LINUXCONF_SUBSYS::init (const char *key);
PUBLIC LINUXCONF_SUBSYS::LINUXCONF_SUBSYS (const char *key,
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/stub.cc linuxconf-1.16r3.3/misc/stub.cc
*** linuxconf-1.16r3.2/misc/stub.cc Tue Sep 7 23:11:46 1999
--- linuxconf-1.16r3.3/misc/stub.cc Tue Sep 28 18:29:20 1999
***************
*** 53,57 ****
}
! void button_text2gif (const char *, FILE *)
{
}
--- 53,57 ----
}
! void button_text2png (const char *, FILE *)
{
}
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/misc/subsys.cc linuxconf-1.16r3.3/misc/subsys.cc
*** linuxconf-1.16r3.2/misc/subsys.cc Sun Dec 20 14:34:32 1998
--- linuxconf-1.16r3.3/misc/subsys.cc Thu Sep 23 14:32:01 1999
***************
*** 357,361 ****
/*
Return the archiving mode. True means that archiving is done each
! time you quit from linuxconf.
*/
bool confver_getmode ()
--- 357,361 ----
/*
Return the archiving mode. True means that archiving is done each
! time linuxconf modify the file (before modifying it in fact).
*/
bool confver_getmode ()
***************
*** 445,449 ****
if (dia == NULL){
dia = new DIALOG;
! dia->newf_chk (MSG_U(F_CONFVERMODE,"Operation mode"),mode
,MSG_U(I_AUTO,"Automatic"));
int i;
--- 445,449 ----
if (dia == NULL){
dia = new DIALOG;
! dia->newf_chk (MSG_U(F_CONFVERMODE,"Archiving mode"),mode
,MSG_U(I_AUTO,"Automatic"));
int i;
***************
*** 663,672 ****
return ret;
}
! /*
! Compute the md5 checksum of all archive file or some subsystem only
! */
! int subsys_md5sum (int nb, const char *tb[])
{
- SSTRINGS t;
if (nb == 0){
subsys_getallsubsys(t);
--- 663,669 ----
return ret;
}
!
! static void subsys_setuplst (SSTRINGS &t, int nb, const char *tb[])
{
if (nb == 0){
subsys_getallsubsys(t);
***************
*** 674,677 ****
--- 671,682 ----
for (int i=0; i
+ #include
+ #include
#include
#include
***************
*** 33,42 ****
class MAILCONF_FILE: public CONFIG_FILE{
public:
MAILCONF_FILE(const char *fname);
};
PUBLIC MAILCONF_FILE::MAILCONF_FILE(const char *fname)
! : CONFIG_FILE (fname,help_mailconf,CONFIGF_NONE)
{
}
--- 35,49 ----
class MAILCONF_FILE: public CONFIG_FILE{
public:
+ SSTRING refpath; // Path of the template in /usr/lib/linuxconf
MAILCONF_FILE(const char *fname);
};
PUBLIC MAILCONF_FILE::MAILCONF_FILE(const char *fname)
! : CONFIG_FILE (fname,help_mailconf,CONFIGF_OPTIONAL,subsys_mail)
{
+ char path[PATH_MAX];
+ snprintf (path,sizeof(path)-1,"%s/%s.cf",ETC_MAIL_MAILCONF,fname);
+ setkey (path);
+ refpath.setfromf("%s/mailconf/%s.cf",USR_LIB_LINUXCONF,fname);
}
***************
*** 96,106 ****
will use those, overriding its own.
*/
! const char *relpath = filesrc.getpath();
! char realpath[PATH_MAX];
! sprintf (realpath,"%s/mailconf/%s.cf",ETC_MAIL,relpath);
! if (!file_exist (realpath)){
! sprintf (realpath,"%s/mailconf/%s.cf",USR_LIB_LINUXCONF,relpath);
}
! FILE *fin = filesrc.fopen(realpath,"r");
if (fin != NULL){
ret = 0;
--- 103,111 ----
will use those, overriding its own.
*/
! const char *path = filesrc.getpath();
! if (!file_exist (path)){
! path = filesrc.refpath.get();
}
! FILE *fin = filesrc.fopen(path,"r");
if (fin != NULL){
ret = 0;
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/internal.h linuxconf-1.16r3.3/modules/mailconf/internal.h
*** linuxconf-1.16r3.2/modules/mailconf/internal.h Mon Aug 30 13:59:24 1999
--- linuxconf-1.16r3.3/modules/mailconf/internal.h Mon Oct 4 14:17:09 1999
***************
*** 107,110 ****
--- 107,112 ----
};
+ class USERS;
+ class CONFIG_FILE;
class VDOMAINS;
class VDOMAIN: public ARRAY_OBJ{
***************
*** 127,130 ****
--- 129,134 ----
void createfiles (void);
int edit (VDOMAINS&vs);
+ USERS *getusers (CONFIG_FILE *&file,
+ CONFIG_FILE *&file_shadow);
void setpwdpaths (char *pwdfile,
char *shadowfile,
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/mailconf.cc linuxconf-1.16r3.3/modules/mailconf/mailconf.cc
*** linuxconf-1.16r3.2/modules/mailconf/mailconf.cc Tue Jul 20 16:56:31 1999
--- linuxconf-1.16r3.3/modules/mailconf/mailconf.cc Thu Sep 23 13:34:24 1999
***************
*** 127,132 ****
spam_edit_relay_allow();
}else if (key == sendpath.get()){
! mconf.generate();
! modified = 0;
}
}
--- 127,134 ----
spam_edit_relay_allow();
}else if (key == sendpath.get()){
! if (dialog_mode != DIALOG_TREE){
! mconf.generate();
! modified = 0;
! }
}
}
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/mailconf.m linuxconf-1.16r3.3/modules/mailconf/mailconf.m
*** linuxconf-1.16r3.2/modules/mailconf/mailconf.m Thu Sep 16 22:48:53 1999
--- linuxconf-1.16r3.3/modules/mailconf/mailconf.m Sun Oct 3 22:38:53 1999
***************
*** 3,7 ****
#define DICTIONARY_REQUEST \
const char **_dictionary_mailconf;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_mailconf("mailconf",_dictionary_mailconf,269,19);\
void dummy_dict_mailconf(){}
#endif
--- 3,7 ----
#define DICTIONARY_REQUEST \
const char **_dictionary_mailconf;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_mailconf("mailconf",_dictionary_mailconf,270,19);\
void dummy_dict_mailconf(){}
#endif
***************
*** 283,284 ****
--- 283,285 ----
#define E_REDEUNDANT 267
#define E_LOOPING 268
+ #define E_NOVDOMAIN 269
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/mailconf.p linuxconf-1.16r3.3/modules/mailconf/mailconf.p
*** linuxconf-1.16r3.2/modules/mailconf/mailconf.p Mon Aug 30 14:00:39 1999
--- linuxconf-1.16r3.3/modules/mailconf/mailconf.p Sun Oct 3 22:31:00 1999
***************
*** 5,9 ****
const char *title);
void aliases_edit (void);
! /* aliascomng.cc 16/08/1999 20.01.06 */
USERACCT_COMNG *alias_newcomng (const char *key, DICTIONARY&dict);
/* basic.cc 02/08/1999 19.45.20 */
--- 5,9 ----
const char *title);
void aliases_edit (void);
! /* aliascomng.cc 16/09/1999 22.49.16 */
USERACCT_COMNG *alias_newcomng (const char *key, DICTIONARY&dict);
/* basic.cc 02/08/1999 19.45.20 */
***************
*** 16,24 ****
const char *confread_getdbformat (void);
void confread_replace (const char *key, const char *val);
! /* generate.cc 10/08/1999 11.43.24 */
bool mailconf_generated_once (void);
/* helpf.cc 14/08/1996 15.06.34 */
/* internal.cc 17/11/1997 14.30.36 */
! /* mailconf.cc 20/07/1999 16.56.30 */
void mailconf_edit (void);
int mailconf_getqueuedelay (void);
--- 16,24 ----
const char *confread_getdbformat (void);
void confread_replace (const char *key, const char *val);
! /* generate.cc 23/09/1999 17.39.46 */
bool mailconf_generated_once (void);
/* helpf.cc 14/08/1996 15.06.34 */
/* internal.cc 17/11/1997 14.30.36 */
! /* mailconf.cc 23/09/1999 13.34.24 */
void mailconf_edit (void);
int mailconf_getqueuedelay (void);
***************
*** 31,35 ****
/* masq.cc 03/03/1999 09.43.54 */
int masq_edit (void);
! /* mod_mailconf.cc 30/08/1999 13.56.52 */
/* mtable.cc 20/12/1998 14.44.36 */
int mtable_makemap (CONFIG_FILE&conf);
--- 31,35 ----
/* masq.cc 03/03/1999 09.43.54 */
int masq_edit (void);
! /* mod_mailconf.cc 03/10/1999 22.28.14 */
/* mtable.cc 20/12/1998 14.44.36 */
int mtable_makemap (CONFIG_FILE&conf);
***************
*** 39,43 ****
void spam_edit_name_allow (void);
void spam_edit_relay_allow (void);
! /* vdomain.cc 30/08/1999 14.00.32 */
void vdomain_editone (const char *dom, USER *like);
void vdomain_editusers (USER *like);
--- 39,43 ----
void spam_edit_name_allow (void);
void spam_edit_relay_allow (void);
! /* vdomain.cc 03/10/1999 22.30.52 */
void vdomain_editone (const char *dom, USER *like);
void vdomain_editusers (USER *like);
***************
*** 52,53 ****
--- 52,57 ----
int vdomain_del (const char *host);
int vdomain_add (const char *edom, int argc, const char *argv[]);
+ int vdomain_useradd (const char *domain,
+ const char *id,
+ const char *name);
+ int vdomain_userdel (const char *domain, const char *id);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/mailconf.pm linuxconf-1.16r3.3/modules/mailconf/mailconf.pm
*** linuxconf-1.16r3.2/modules/mailconf/mailconf.pm Mon Aug 30 14:00:39 1999
--- linuxconf-1.16r3.3/modules/mailconf/mailconf.pm Sun Oct 3 22:31:00 1999
***************
*** 20,24 ****
PUBLIC void ALIASES::addnew (void);
PUBLIC int ALIASES::edit (const char *title);
! /* aliascomng.cc 16/08/1999 20.01.06 */
PRIVATE void ALIAS_COMNG::setup_uquotap (char uquotap[PATH_MAX]);
PUBLIC ALIAS_COMNG::ALIAS_COMNG (DICTIONARY&_dict);
--- 20,24 ----
PUBLIC void ALIASES::addnew (void);
PUBLIC int ALIASES::edit (const char *title);
! /* aliascomng.cc 16/09/1999 22.49.16 */
PRIVATE void ALIAS_COMNG::setup_uquotap (char uquotap[PATH_MAX]);
PUBLIC ALIAS_COMNG::ALIAS_COMNG (DICTIONARY&_dict);
***************
*** 50,54 ****
PUBLIC int MAILCONF::write (void);
PUBLIC int MAILCONF::getqueuedelay (void);
! /* generate.cc 10/08/1999 11.43.24 */
PUBLIC MAILCONF_FILE::MAILCONF_FILE (const char *fname);
PRIVATE int MAILCONF::generate (FILE *fout);
--- 50,54 ----
PUBLIC int MAILCONF::write (void);
PUBLIC int MAILCONF::getqueuedelay (void);
! /* generate.cc 23/09/1999 17.39.46 */
PUBLIC MAILCONF_FILE::MAILCONF_FILE (const char *fname);
PRIVATE int MAILCONF::generate (FILE *fout);
***************
*** 60,64 ****
PUBLIC MAILCONF_HELP_FILE::MAILCONF_HELP_FILE (const char *fname);
/* internal.cc 17/11/1997 14.30.36 */
! /* mailconf.cc 20/07/1999 16.56.30 */
PUBLIC void MAILCONF::spcs_edit (void);
/* mailfax.cc 20/12/1998 14.44.00 */
--- 60,64 ----
PUBLIC MAILCONF_HELP_FILE::MAILCONF_HELP_FILE (const char *fname);
/* internal.cc 17/11/1997 14.30.36 */
! /* mailconf.cc 23/09/1999 13.34.24 */
PUBLIC void MAILCONF::spcs_edit (void);
/* mailfax.cc 20/12/1998 14.44.00 */
***************
*** 115,119 ****
PUBLIC int MASQ::rule1 (FILE *fout, char *status);
PUBLIC int MASQS::rule1 (FILE *fout);
! /* mod_mailconf.cc 30/08/1999 13.56.52 */
PUBLIC MODULE_mailconf::MODULE_mailconf (void);
PUBLIC void MODULE_mailconf::setmenu (DIALOG&dia,
--- 115,119 ----
PUBLIC int MASQ::rule1 (FILE *fout, char *status);
PUBLIC int MASQS::rule1 (FILE *fout);
! /* mod_mailconf.cc 03/10/1999 22.28.14 */
PUBLIC MODULE_mailconf::MODULE_mailconf (void);
PUBLIC void MODULE_mailconf::setmenu (DIALOG&dia,
***************
*** 167,171 ****
PUBLIC SPAM_ITEMS_DENY::SPAM_ITEMS_DENY (CONFIG_FILE&_fconf);
PUBLIC int SPAM_ITEMS_DENY::write (void);
! /* vdomain.cc 30/08/1999 14.00.32 */
PUBLIC VDOMAIN::VDOMAIN (const char *line);
PUBLIC VDOMAIN::VDOMAIN (void);
--- 167,171 ----
PUBLIC SPAM_ITEMS_DENY::SPAM_ITEMS_DENY (CONFIG_FILE&_fconf);
PUBLIC int SPAM_ITEMS_DENY::write (void);
! /* vdomain.cc 03/10/1999 22.30.52 */
PUBLIC VDOMAIN::VDOMAIN (const char *line);
PUBLIC VDOMAIN::VDOMAIN (void);
***************
*** 195,198 ****
--- 195,200 ----
PUBLIC VDOMAIN *VDOMAINS::locate (const char *domain);
PUBLIC int VDOMAINS::checkperm (bool, bool);
+ PUBLIC USERS *VDOMAIN::getusers (CONFIG_FILE *&file,
+ CONFIG_FILE *&file_shadow);
PUBLIC VIRTUAL_COMNG::VIRTUAL_COMNG (DICTIONARY&_dict);
PUBLIC VIRTUAL_COMNG::~VIRTUAL_COMNG (void);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/mod_mailconf.cc linuxconf-1.16r3.3/modules/mailconf/mod_mailconf.cc
*** linuxconf-1.16r3.2/modules/mailconf/mod_mailconf.cc Mon Aug 30 14:01:48 1999
--- linuxconf-1.16r3.3/modules/mailconf/mod_mailconf.cc Sun Oct 3 22:36:47 1999
***************
*** 218,221 ****
--- 218,223 ----
" [--faliase email_aliase_file] [ --quota max_inbox_k] \n"
" --delvdom domain\n"
+ " --addvuser domain id name\n"
+ " --delvuser domain id\n"
));
}
***************
*** 243,246 ****
--- 245,256 ----
}else if (argc == 3 && strcmp(argv[1],"--delvdom")==0){
if (netconf_rootaccess()) vdomain_del (argv[2]);
+ }else if (argc == 5 && strcmp(argv[1],"--addvuser")==0){
+ if (netconf_rootaccess()){
+ ret = vdomain_useradd (argv[2],argv[3],argv[4]);
+ }
+ }else if (argc == 4 && strcmp(argv[1],"--delvuser")==0){
+ if (netconf_rootaccess()){
+ ret = vdomain_userdel (argv[2],argv[3]);
+ }
}else if (argc > 2){
if (strcmp(argv[1],"--addvdom")==0){
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/mailconf/vdomain.cc linuxconf-1.16r3.3/modules/mailconf/vdomain.cc
*** linuxconf-1.16r3.2/modules/mailconf/vdomain.cc Wed Sep 8 21:45:32 1999
--- linuxconf-1.16r3.3/modules/mailconf/vdomain.cc Mon Oct 4 14:01:51 1999
***************
*** 61,64 ****
--- 61,75 ----
PUBLIC VDOMAIN::VDOMAIN()
{
+ /* #Specification: virtual domain / users / uid
+ UID for users of virtual email domain are
+ receiving UIDs starting at 60000 to avoid
+ clash with normal users. This is done so a normal
+ user won't be able to read the folder of any
+ virtual users. This is the default. This is configurable.
+
+ For technical reason and compatibility
+ with barely modified POP server, the spool
+ directory for virtual account is world readable.
+ */
startuid = 60000;
quota = 0;
***************
*** 445,473 ****
static PRIVILEGE_DECLARATOR vdom_decl(vdomain_setprivi);
! static void vdomain_editone (VDOMAIN *v, USER *like)
{
! const char *dname = v->domain.get();
char pwdfile[PATH_MAX],shadowfile[PATH_MAX];
char pathhome[PATH_MAX],root[PATH_MAX];
! v->setpwdpaths(pwdfile,shadowfile,pathhome,root);
! CONFIG_FILE file (pwdfile,help_nil
,CONFIGF_MANAGED|CONFIGF_OPTIONNAL
,"root","mail",0640
,subsys_vdomain);
! CONFIG_FILE file_shadow (shadowfile,help_nil
,CONFIGF_MANAGED|CONFIGF_OPTIONNAL
,"root","mail",0640
,subsys_vdomain);
! /* #Specification: virtual domain / users / uid
! UID for users of virtual email domain are
! receiving UIDs starting at 60000 to avoid
! clash with normal users. This is done so a normal
! user won't be able to read the folder of any
! virtual users. This is the default. This is configurable.
! For technical reason and compatibility
! with barely modified POP server, the spool
! directory for virtual account is world readable.
! */
vdomain_setprivi();
char id[PATH_MAX];
--- 456,483 ----
static PRIVILEGE_DECLARATOR vdom_decl(vdomain_setprivi);
! PUBLIC USERS* VDOMAIN::getusers(
! CONFIG_FILE *&file,
! CONFIG_FILE *&file_shadow)
{
! const char *dname = domain.get();
char pwdfile[PATH_MAX],shadowfile[PATH_MAX];
char pathhome[PATH_MAX],root[PATH_MAX];
! setpwdpaths(pwdfile,shadowfile,pathhome,root);
! file = new CONFIG_FILE (pwdfile,help_nil
,CONFIGF_MANAGED|CONFIGF_OPTIONNAL
,"root","mail",0640
,subsys_vdomain);
! file_shadow = new CONFIG_FILE (shadowfile,help_nil
,CONFIGF_MANAGED|CONFIGF_OPTIONNAL
,"root","mail",0640
,subsys_vdomain);
! return new USERS (*file,*file_shadow,root,pathhome,dname,startuid);
! }
! static void vdomain_editone (VDOMAIN *v, USER *like)
! {
! CONFIG_FILE *file,*file_shadow;
! USERS *users = v->getusers (file,file_shadow);
! const char *dname = v->domain.get();
vdomain_setprivi();
char id[PATH_MAX];
***************
*** 475,481 ****
PRIVILEGE *priv = privilege_lookup (id);
if (perm_access (priv,MSG_U(P_MANAGEDOM,"manage a virtual domain"))){
! USERS users (file,file_shadow,root,pathhome,dname,v->startuid);
! users.edit(like,priv,0);
}
}
--- 485,493 ----
PRIVILEGE *priv = privilege_lookup (id);
if (perm_access (priv,MSG_U(P_MANAGEDOM,"manage a virtual domain"))){
! users->edit(like,priv,0);
}
+ delete users;
+ delete file;
+ delete file_shadow;
}
***************
*** 901,903 ****
--- 913,960 ----
,P_MSG_U(T_VDOMPRIVI,"Privileges: Virtual email domains"));
+
+ int vdomain_useradd (
+ const char *domain,
+ const char *id,
+ const char *name)
+ {
+ int ret = -1;
+ VDOMAINS conf;
+ VDOMAIN *v = conf.locate (domain);
+ if (v == NULL){
+ fprintf (stderr
+ ,MSG_U(E_NOVDOMAIN
+ ,"Virtual email domain %s does not exist\n")
+ ,domain);
+ }else{
+ CONFIG_FILE *file,*file_shadow;
+ USERS *users = v->getusers (file,file_shadow);
+ ret = users->addbatch (id,"popusers",name,"/bin/false");
+ delete users;
+ delete file;
+ delete file_shadow;
+ }
+ return ret;
+ }
+
+ int vdomain_userdel (
+ const char *domain,
+ const char *id)
+ {
+ int ret = -1;
+ VDOMAINS conf;
+ VDOMAIN *v = conf.locate (domain);
+ if (v == NULL){
+ fprintf (stderr
+ ,MSG_R(E_NOVDOMAIN),domain);
+ }else{
+ CONFIG_FILE *file,*file_shadow;
+ USERS *users = v->getusers (file,file_shadow);
+ ret = users->delbatch (id);
+ delete users;
+ delete file;
+ delete file_shadow;
+ }
+ return ret;
+ }
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/netadm/cluster.cc linuxconf-1.16r3.3/modules/netadm/cluster.cc
*** linuxconf-1.16r3.2/modules/netadm/cluster.cc Tue Mar 9 10:35:08 1999
--- linuxconf-1.16r3.3/modules/netadm/cluster.cc Thu Sep 23 00:13:40 1999
***************
*** 245,261 ****
PUBLIC int CLUSTERS::edit ()
{
! DIALOG *dia=NULL;
int nof = 0;
int ret = -1;
while (1){
! if (dia == NULL){
! dia = new DIALOG;
for (int i=0; inew_menuitem (c->id.get(),c->comment.get());
}
}
bool delete_dia = false;
! MENU_STATUS code = dia->editmenu (
MSG_U(T_CLUSTERS,"Administration groups")
,MSG_U(I_CLUSTERS,"Here is the list of administration groups.")
--- 245,261 ----
PUBLIC int CLUSTERS::edit ()
{
! DIALOG_RECORDS dia;
int nof = 0;
int ret = -1;
while (1){
! if (dia.getnb()==0){
! dia.newf_head ("",MSG_U(H_GROUPES,"Groupe ID\tDescription"));
for (int i=0; iid.get(),c->comment.get());
}
}
bool delete_dia = false;
! MENU_STATUS code = dia.editmenu (
MSG_U(T_CLUSTERS,"Administration groups")
,MSG_U(I_CLUSTERS,"Here is the list of administration groups.")
***************
*** 271,280 ****
}
if (delete_dia){
! delete dia;
! dia = NULL;
ret = 0;
}
}
- delete dia;
return ret;
}
--- 271,278 ----
}
if (delete_dia){
! dia.remove_all();
ret = 0;
}
}
return ret;
}
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/netadm/export.cc linuxconf-1.16r3.3/modules/netadm/export.cc
*** linuxconf-1.16r3.2/modules/netadm/export.cc Tue Mar 9 10:29:48 1999
--- linuxconf-1.16r3.3/modules/netadm/export.cc Thu Sep 23 00:04:05 1999
***************
*** 1,3 ****
--- 1,4 ----
#include
+ #include
#include
#include
***************
*** 11,14 ****
--- 12,31 ----
static NETADM_HELP_FILE help_export ("export");
+ static bool debug=false;
+
+ static void n_debug (const char *ctl, ...)
+ {
+ if (debug){
+ va_list list;
+ va_start (list,ctl);
+ vfprintf (stderr,ctl,list);
+ va_end (list);
+ }
+ }
+ /*
+ Establish the connection with the remote end.
+ At this point, we have a link. Now we must send the password
+ and verify the protocol version
+ */
static int export_connect (POPEN &pop, const char *pass)
{
***************
*** 29,36 ****
--- 46,55 ----
break;
}else if (!sentver){
+ n_debug("Sending protocol version: %s\n",PROTO_VERSION);
fprintf (fout,"version %s\n",PROTO_VERSION);
expectack = true;
sentver = true;
}else if (!sentpass){
+ n_debug ("Sending password\n");
fprintf (fout,"password %s\n",pass);
expectack = true;
***************
*** 53,57 ****
break;
}else{
! //printf ("%s",line);
expectack = false;
if (sentpass){
--- 72,76 ----
break;
}else{
! n_debug ("Receiving ack: %s",line);
expectack = false;
if (sentpass){
***************
*** 66,69 ****
--- 85,89 ----
}
}
+ n_debug ("Initial connection: %s\n",ret==-1 ? "failure" : "success");
return ret;
}
***************
*** 138,141 ****
--- 158,162 ----
,f);
nofile++;
+ n_debug ("Sending file %s\n",filepath);
fprintf (fout,"putfile %s\n",filepath);
sentput = true;
***************
*** 148,151 ****
--- 169,173 ----
break;
}else{
+ n_debug ("File dimension: %ld\n",st.st_size);
fprintf (fout,"dimension %ld\n",st.st_size);
expectack = true;
***************
*** 165,168 ****
--- 187,191 ----
break;
}else if (sentfile){
+ n_debug ("Receing ack for sendfile\n");
expectack = false;
sentfile = false;
***************
*** 174,177 ****
--- 197,201 ----
}else if (sentdim){
+ n_debug ("Receing ack for send dimension, now sending data\n");
// expectack = false;
// At the end of the copy, another acknoledge will come
***************
*** 192,196 ****
}
}else{
! //printf ("%s",line);
expectack = false;
}
--- 216,220 ----
}
}else{
! n_debug ("File received: %s",line);
expectack = false;
}
***************
*** 202,205 ****
--- 226,230 ----
}
}
+ n_debug ("Sending files status: %s\n",ret==-1 ? "failure" : "success");
return ret;
}
***************
*** 249,257 ****
! PRIVATE int CLUSTER::exportone(const char *member, const char *pass)
{
int ret = -1;
char arg[2*PATH_MAX];
! sprintf (arg,"-l netadm %s",member);
POPEN pop ("ssh",arg);
if (pop.isok()){
--- 274,285 ----
! PRIVATE int CLUSTER::exportone(
! const char *member,
! const char *pass)
{
int ret = -1;
char arg[2*PATH_MAX];
! snprintf (arg,sizeof(arg)-1,"-l netadm %s",member);
! n_debug ("Executing: ssh %s\n",arg);
POPEN pop ("ssh",arg);
if (pop.isok()){
***************
*** 296,299 ****
--- 324,329 ----
SSTRING pass;
dia.newf_pass (MSG_U(F_ROOTPASS,"root password"),pass);
+ char do_debug=0;
+ dia.newf_chk ("",do_debug,MSG_U(I_DEBUG,"Enable protocol debuggin"));
char buf[200];
snprintf (buf,sizeof(buf)-1
***************
*** 305,308 ****
--- 335,339 ----
,m);
if (dia.edit(m,buf,help_nil)==MENU_ACCEPT){
+ debug = do_debug != 0;
ret |= exportone (m,pass.get());
}
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/netadm/netadm.m linuxconf-1.16r3.3/modules/netadm/netadm.m
*** linuxconf-1.16r3.2/modules/netadm/netadm.m Wed Jan 6 21:33:27 1999
--- linuxconf-1.16r3.3/modules/netadm/netadm.m Thu Sep 23 00:13:45 1999
***************
*** 3,7 ****
#define DICTIONARY_REQUEST \
const char **_dictionary_netadm;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_netadm("netadm",_dictionary_netadm,46,0);\
void dummy_dict_netadm(){}
#endif
--- 3,7 ----
#define DICTIONARY_REQUEST \
const char **_dictionary_netadm;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_netadm("netadm",_dictionary_netadm,48,0);\
void dummy_dict_netadm(){}
#endif
***************
*** 60,61 ****
--- 60,63 ----
#define I_EXPORTOK 44
#define T_EXPORTOK 45
+ #define I_DEBUG 46
+ #define H_GROUPES 47
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/redhat/devinfo.cc linuxconf-1.16r3.3/modules/redhat/devinfo.cc
*** linuxconf-1.16r3.2/modules/redhat/devinfo.cc Mon Jun 14 22:00:54 1999
--- linuxconf-1.16r3.3/modules/redhat/devinfo.cc Thu Sep 23 15:21:28 1999
***************
*** 289,293 ****
public:
CONFIG_FILE_DEVLIST (void);
! int archive (SSTREAM&ss);
int extract (SSTREAM&ss);
/*~PROTOEND~ CONFIG_FILE_DEVLIST */
--- 289,293 ----
public:
CONFIG_FILE_DEVLIST (void);
! int archive (SSTREAM&ss)const;
int extract (SSTREAM&ss);
/*~PROTOEND~ CONFIG_FILE_DEVLIST */
***************
*** 300,304 ****
}
! PUBLIC int CONFIG_FILE_DEVLIST::archive(SSTREAM &ss)
{
configf_sendexist (ss,true);
--- 300,304 ----
}
! PUBLIC int CONFIG_FILE_DEVLIST::archive(SSTREAM &ss) const
{
configf_sendexist (ss,true);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/redhat/redhat.p linuxconf-1.16r3.3/modules/redhat/redhat.p
*** linuxconf-1.16r3.2/modules/redhat/redhat.p Thu Aug 12 18:05:58 1999
--- linuxconf-1.16r3.3/modules/redhat/redhat.p Thu Sep 23 15:21:28 1999
***************
*** 1,4 ****
! /* _dict.cc 01/02/98 20.19.44 */
! /* devinfo.cc 14/06/99 22.00.54 */
int devinfo_load (HOSTS&hosts, HOSTINFO&info);
void devinfo_remove (VIEWITEMS&items, const char *var);
--- 1,4 ----
! /* _dict.cc 01/02/1998 20.19.44 */
! /* devinfo.cc 23/09/1999 15.20.14 */
int devinfo_load (HOSTS&hosts, HOSTINFO&info);
void devinfo_remove (VIEWITEMS&items, const char *var);
***************
*** 10,14 ****
const SSTRINGS&tb,
const SSTRINGS&masks);
! /* filter.cc 18/04/99 22.21.14 */
int redhat_release (void);
CONFDB *filter_fctnew (CONFDB *orig);
--- 10,14 ----
const SSTRINGS&tb,
const SSTRINGS&masks);
! /* filter.cc 18/04/1999 22.21.14 */
int redhat_release (void);
CONFDB *filter_fctnew (CONFDB *orig);
***************
*** 16,34 ****
void filter_gethostname (char *name);
int filter_sethostname (const char *name);
! /* pam.cc 12/01/99 10.32.06 */
int pam_check_pass (const char *user);
int pam_change_pass (const char *user, bool preauthenticated);
int pam_check_pair (const char *user, const char *pass);
! /* redhat.cc 21/07/99 14.11.20 */
const char *vendor_getid (void);
const char *vendor_getdistid (void);
! /* reduser.cc 15/11/98 01.31.34 */
int reduser_del (USER *usr, SHADOW *);
int reduser_add (USER *usr, SHADOW *shadow, bool createdir);
int reduser_change (USER *usr, SHADOW *shadow);
! /* routes.cc 02/05/98 22.26.56 */
int routes_load (ROUTES&rt);
int routes_save (SSTRING&defroute, ROUTES&rts);
! /* sysv.cc 12/08/99 18.05.54 */
int sysv_getserv (SERVICES&tb);
int sysv_setserv (SERVICES&tb);
--- 16,34 ----
void filter_gethostname (char *name);
int filter_sethostname (const char *name);
! /* pam.cc 12/01/1999 10.32.06 */
int pam_check_pass (const char *user);
int pam_change_pass (const char *user, bool preauthenticated);
int pam_check_pair (const char *user, const char *pass);
! /* redhat.cc 21/07/1999 14.11.20 */
const char *vendor_getid (void);
const char *vendor_getdistid (void);
! /* reduser.cc 15/11/1998 01.31.34 */
int reduser_del (USER *usr, SHADOW *);
int reduser_add (USER *usr, SHADOW *shadow, bool createdir);
int reduser_change (USER *usr, SHADOW *shadow);
! /* routes.cc 02/05/1998 22.26.56 */
int routes_load (ROUTES&rt);
int routes_save (SSTRING&defroute, ROUTES&rts);
! /* sysv.cc 16/09/1999 17.55.00 */
int sysv_getserv (SERVICES&tb);
int sysv_setserv (SERVICES&tb);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/redhat/redhat.pm linuxconf-1.16r3.3/modules/redhat/redhat.pm
*** linuxconf-1.16r3.2/modules/redhat/redhat.pm Thu Aug 12 18:05:58 1999
--- linuxconf-1.16r3.3/modules/redhat/redhat.pm Thu Sep 23 15:21:28 1999
***************
*** 1,8 ****
! /* _dict.cc 01/02/98 20.19.44 */
! /* devinfo.cc 14/06/99 22.00.54 */
PUBLIC CONFIG_FILE_DEVLIST::CONFIG_FILE_DEVLIST (void);
! PUBLIC int CONFIG_FILE_DEVLIST::archive (SSTREAM&ss);
PUBLIC int CONFIG_FILE_DEVLIST::extract (SSTREAM&ss);
! /* filter.cc 18/04/99 22.21.14 */
PRIVATE void CONFDB_REDHAT::reset_modified (void);
PUBLIC CONFDB_REDHAT::CONFDB_REDHAT (CONFDB *_orig);
--- 1,8 ----
! /* _dict.cc 01/02/1998 20.19.44 */
! /* devinfo.cc 23/09/1999 15.20.14 */
PUBLIC CONFIG_FILE_DEVLIST::CONFIG_FILE_DEVLIST (void);
! PUBLIC int CONFIG_FILE_DEVLIST::archive (SSTREAM&ss)const;
PUBLIC int CONFIG_FILE_DEVLIST::extract (SSTREAM&ss);
! /* filter.cc 18/04/1999 22.21.14 */
PRIVATE void CONFDB_REDHAT::reset_modified (void);
PUBLIC CONFDB_REDHAT::CONFDB_REDHAT (CONFDB *_orig);
***************
*** 26,37 ****
PUBLIC int CONFDB_REDHAT::archive (SSTREAM&ss, const char *_sys);
PUBLIC int CONFDB_REDHAT::extract (SSTREAM&ss, const char *_sys);
! /* pam.cc 12/01/99 10.32.06 */
! /* redhat.cc 21/07/99 14.11.20 */
PUBLIC MODULE_redhat::MODULE_redhat (void);
PUBLIC int MODULE_redhat::dohtml (const char *key);
PUBLIC int MODULE_redhat::execmain (int argc, char *argv[]);
! /* reduser.cc 15/11/98 01.31.34 */
! /* routes.cc 02/05/98 22.26.56 */
! /* sysv.cc 12/08/99 18.05.54 */
PUBLIC SERVICE_SYSV_REDHAT::SERVICE_SYSV_REDHAT (const char *_name,
const char *_desc,
--- 26,37 ----
PUBLIC int CONFDB_REDHAT::archive (SSTREAM&ss, const char *_sys);
PUBLIC int CONFDB_REDHAT::extract (SSTREAM&ss, const char *_sys);
! /* pam.cc 12/01/1999 10.32.06 */
! /* redhat.cc 21/07/1999 14.11.20 */
PUBLIC MODULE_redhat::MODULE_redhat (void);
PUBLIC int MODULE_redhat::dohtml (const char *key);
PUBLIC int MODULE_redhat::execmain (int argc, char *argv[]);
! /* reduser.cc 15/11/1998 01.31.34 */
! /* routes.cc 02/05/1998 22.26.56 */
! /* sysv.cc 16/09/1999 17.55.00 */
PUBLIC SERVICE_SYSV_REDHAT::SERVICE_SYSV_REDHAT (const char *_name,
const char *_desc,
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/redhatppp/ppp.cc linuxconf-1.16r3.3/modules/redhatppp/ppp.cc
*** linuxconf-1.16r3.2/modules/redhatppp/ppp.cc Mon Sep 20 21:19:05 1999
--- linuxconf-1.16r3.3/modules/redhatppp/ppp.cc Thu Sep 23 15:21:48 1999
***************
*** 1089,1093 ****
public:
CONFIG_FILE_PTPLIST (void);
! int archive (SSTREAM&ss);
int extract (SSTREAM&ss);
/*~PROTOEND~ CONFIG_FILE_PTPLIST */
--- 1089,1093 ----
public:
CONFIG_FILE_PTPLIST (void);
! int archive (SSTREAM&ss)const;
int extract (SSTREAM&ss);
/*~PROTOEND~ CONFIG_FILE_PTPLIST */
***************
*** 1100,1104 ****
}
! PUBLIC int CONFIG_FILE_PTPLIST::archive(SSTREAM &ss)
{
configf_sendexist (ss,true);
--- 1100,1104 ----
}
! PUBLIC int CONFIG_FILE_PTPLIST::archive(SSTREAM &ss) const
{
configf_sendexist (ss,true);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/redhatppp/redhatppp.p linuxconf-1.16r3.3/modules/redhatppp/redhatppp.p
*** linuxconf-1.16r3.2/modules/redhatppp/redhatppp.p Mon Sep 20 21:06:15 1999
--- linuxconf-1.16r3.3/modules/redhatppp/redhatppp.p Thu Sep 23 15:21:48 1999
***************
*** 1,4 ****
/* _dict.cc 14/11/1998 19.13.02 */
! /* ppp.cc 20/09/1999 21.04.00 */
int ppp_list (SSTRINGS&tb);
int ppp_del (const char *dev);
--- 1,4 ----
/* _dict.cc 14/11/1998 19.13.02 */
! /* ppp.cc 23/09/1999 15.21.06 */
int ppp_list (SSTRINGS&tb);
int ppp_del (const char *dev);
***************
*** 7,11 ****
void ppprh_control (void);
/* redhatppp.cc 06/01/1999 21.26.10 */
! /* wvdial.cc 20/09/1999 21.03.00 */
bool wvdial_is_installed (void);
void wvdial_update (const char *config,
--- 7,11 ----
void ppprh_control (void);
/* redhatppp.cc 06/01/1999 21.26.10 */
! /* wvdial.cc 20/09/1999 21.08.12 */
bool wvdial_is_installed (void);
void wvdial_update (const char *config,
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/redhatppp/redhatppp.pm linuxconf-1.16r3.3/modules/redhatppp/redhatppp.pm
*** linuxconf-1.16r3.2/modules/redhatppp/redhatppp.pm Mon Sep 20 21:06:15 1999
--- linuxconf-1.16r3.3/modules/redhatppp/redhatppp.pm Thu Sep 23 15:21:48 1999
***************
*** 1,4 ****
/* _dict.cc 14/11/1998 19.13.02 */
! /* ppp.cc 20/09/1999 21.04.00 */
PUBLIC RHPPP::RHPPP (const char *dev);
PUBLIC void RHPPP::setdevice (const char *dev);
--- 1,4 ----
/* _dict.cc 14/11/1998 19.13.02 */
! /* ppp.cc 23/09/1999 15.21.06 */
PUBLIC RHPPP::RHPPP (const char *dev);
PUBLIC void RHPPP::setdevice (const char *dev);
***************
*** 14,18 ****
PUBLIC int RHPPP::write (void);
PUBLIC CONFIG_FILE_PTPLIST::CONFIG_FILE_PTPLIST (void);
! PUBLIC int CONFIG_FILE_PTPLIST::archive (SSTREAM&ss);
PUBLIC int CONFIG_FILE_PTPLIST::extract (SSTREAM&ss);
/* redhatppp.cc 06/01/1999 21.26.10 */
--- 14,18 ----
PUBLIC int RHPPP::write (void);
PUBLIC CONFIG_FILE_PTPLIST::CONFIG_FILE_PTPLIST (void);
! PUBLIC int CONFIG_FILE_PTPLIST::archive (SSTREAM&ss)const;
PUBLIC int CONFIG_FILE_PTPLIST::extract (SSTREAM&ss);
/* redhatppp.cc 06/01/1999 21.26.10 */
***************
*** 24,26 ****
PUBLIC int MODULE_redhatppp::dohtml (const char *key);
PUBLIC int MODULE_redhatppp::execmain (int argc, char *argv[]);
! /* wvdial.cc 20/09/1999 21.03.00 */
--- 24,26 ----
PUBLIC int MODULE_redhatppp::dohtml (const char *key);
PUBLIC int MODULE_redhatppp::execmain (int argc, char *argv[]);
! /* wvdial.cc 20/09/1999 21.08.12 */
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/usermenu/menuedit.cc linuxconf-1.16r3.3/modules/usermenu/menuedit.cc
*** linuxconf-1.16r3.2/modules/usermenu/menuedit.cc Thu Apr 29 20:26:02 1999
--- linuxconf-1.16r3.3/modules/usermenu/menuedit.cc Sat Oct 2 23:08:58 1999
***************
*** 4,9 ****
--- 4,23 ----
#include "../../main/main.h"
+ static HELP_FILE help_menu ("usermenu","usermenu");
+
const char K_USERMENU[]="usermenu";
static const char K_INDEX[]="index";
+ static const char K_ACCESSPRIV[]="accesspriv";
+
+ /*
+ Get the access privilege mode (super user equivalence or simple access
+ to the menu)
+ */
+ bool usermenu_getaccesspriv (const char *menu)
+ {
+ char key[100];
+ snprintf (key,sizeof(key)-1,"%s.%s",menu,K_ACCESSPRIV);
+ return linuxconf_getvalnum (K_USERMENU,key,0) != 0;
+ }
static void usermenu_editone (const char *menu)
***************
*** 18,22 ****
dia.newf_str (MSG_U(F_MENUTITLE,"Menu title"),title);
dia.last_noempty();
- dia.newf_title ("",MSG_U(I_OPTIONS,"Linuxconf's options"));
SSTRINGS keys;
SSTRINGS titles;
--- 32,35 ----
***************
*** 25,31 ****
char tbsel[nbmenu];
memset (tbsel,0,sizeof(tbsel));
if (menu != NULL){
char key[100];
! sprintf (key,"%s.opt",menu);
SSTRINGS sels;
linuxconf_getall (K_USERMENU,key,sels,0);
--- 38,45 ----
char tbsel[nbmenu];
memset (tbsel,0,sizeof(tbsel));
+ char accesspriv = 0;
if (menu != NULL){
char key[100];
! snprintf (key,sizeof(key)-1,"%s.opt",menu);
SSTRINGS sels;
linuxconf_getall (K_USERMENU,key,sels,0);
***************
*** 35,39 ****
--- 49,58 ----
}
}
+ accesspriv = usermenu_getaccesspriv(menu) ? 1 : 0;
}
+ dia.newf_chk (MSG_U(F_ACCESSPRIV,"Access privilege"),accesspriv
+ ,MSG_U(I_ACCESSPRIV,"super user equivalence"));
+ // Draw all menu options available in linuxconf
+ dia.newf_title ("",MSG_U(I_OPTIONS,"Linuxconf's options"));
for (int i=0; i= 0 && nof < n){
+ bool accesspriv = usermenu_getaccesspriv(menuname);
+ PRIVILEGE *old = NULL;
+ if (accesspriv) old = perm_setdefprivi (menupriv);
dialog_jumpto (sels.getitem(nof)->get());
linuxconf_mainmenu(true);
dialog_jumpto (NULL);
+ if (accesspriv) perm_setdefprivi (old);
}
}
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/usermenu/usermenu.m linuxconf-1.16r3.3/modules/usermenu/usermenu.m
*** linuxconf-1.16r3.2/modules/usermenu/usermenu.m Thu Apr 29 20:26:09 1999
--- linuxconf-1.16r3.3/modules/usermenu/usermenu.m Sat Oct 2 22:00:02 1999
***************
*** 3,7 ****
#define DICTIONARY_REQUEST \
const char **_dictionary_usermenu;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_usermenu("usermenu",_dictionary_usermenu,17,2);\
void dummy_dict_usermenu(){}
#endif
--- 3,7 ----
#define DICTIONARY_REQUEST \
const char **_dictionary_usermenu;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_usermenu("usermenu",_dictionary_usermenu,19,2);\
void dummy_dict_usermenu(){}
#endif
***************
*** 31,32 ****
--- 31,34 ----
#define T_MENUDESC 15
#define H_USERMENU 16
+ #define F_ACCESSPRIV 17
+ #define I_ACCESSPRIV 18
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/usermenu/usermenu.p linuxconf-1.16r3.3/modules/usermenu/usermenu.p
*** linuxconf-1.16r3.2/modules/usermenu/usermenu.p Mon Jan 4 22:20:09 1999
--- linuxconf-1.16r3.3/modules/usermenu/usermenu.p Sat Oct 2 22:00:07 1999
***************
*** 1,10 ****
/* _dict.cc 03/03/98 00.39.00 */
! /* menuedit.cc 20/12/98 14.49.42 */
int menuedit_getlist (SSTRINGS&tb);
const char *menuedit_gettitle (const char *menuname);
void usermenu_edit (void);
! /* show.cc 31/03/98 16.30.08 */
void usermenu_show (const char *menuname);
void show_resetpriv (void);
PRIVILEGE *show_lookuppriv (const char *menu);
! /* usermenu.cc 04/01/99 22.19.58 */
--- 1,11 ----
/* _dict.cc 03/03/98 00.39.00 */
! /* menuedit.cc 02/10/99 21.59.58 */
! bool usermenu_getaccesspriv (const char *menu);
int menuedit_getlist (SSTRINGS&tb);
const char *menuedit_gettitle (const char *menuname);
void usermenu_edit (void);
! /* show.cc 02/10/99 21.59.22 */
void usermenu_show (const char *menuname);
void show_resetpriv (void);
PRIVILEGE *show_lookuppriv (const char *menu);
! /* usermenu.cc 06/01/99 21.27.36 */
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/usermenu/usermenu.pm linuxconf-1.16r3.3/modules/usermenu/usermenu.pm
*** linuxconf-1.16r3.2/modules/usermenu/usermenu.pm Mon Jan 4 22:20:09 1999
--- linuxconf-1.16r3.3/modules/usermenu/usermenu.pm Sat Oct 2 22:00:07 1999
***************
*** 1,6 ****
/* _dict.cc 03/03/98 00.39.00 */
! /* menuedit.cc 20/12/98 14.49.42 */
! /* show.cc 31/03/98 16.30.08 */
! /* usermenu.cc 04/01/99 22.19.58 */
PUBLIC MODULE_usermenu::MODULE_usermenu (void);
PUBLIC void MODULE_usermenu::setmenu (DIALOG&dia,
--- 1,6 ----
/* _dict.cc 03/03/98 00.39.00 */
! /* menuedit.cc 02/10/99 21.59.58 */
! /* show.cc 02/10/99 21.59.22 */
! /* usermenu.cc 06/01/99 21.27.36 */
PUBLIC MODULE_usermenu::MODULE_usermenu (void);
PUBLIC void MODULE_usermenu::setmenu (DIALOG&dia,
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/modules/wuftpd/redhat/perm/wuftpd linuxconf-1.16r3.3/modules/wuftpd/redhat/perm/wuftpd
*** linuxconf-1.16r3.2/modules/wuftpd/redhat/perm/wuftpd Sun Feb 1 23:50:14 1998
--- linuxconf-1.16r3.3/modules/wuftpd/redhat/perm/wuftpd Fri Oct 1 23:41:24 1999
***************
*** 1,4 ****
/home/ftp root root d 755
! /home/ftp/pub root ftp d 2555
--- 1,4 ----
/home/ftp root root d 755
! /home/ftp/pub root ftp d 2755
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/netconf/dropin.cc linuxconf-1.16r3.3/netconf/dropin.cc
*** linuxconf-1.16r3.2/netconf/dropin.cc Fri Aug 13 23:01:37 1999
--- linuxconf-1.16r3.3/netconf/dropin.cc Thu Sep 23 15:15:56 1999
***************
*** 78,82 ****
/*~PROTOBEG~ DROPIN */
public:
! DROPIN (const char *_path, bool _localconf);
DROPIN (void);
int activate_new (void);
--- 78,82 ----
/*~PROTOBEG~ DROPIN */
public:
! DROPIN (const char *_name, bool _localconf);
DROPIN (void);
int activate_new (void);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/netconf/hosts.cc linuxconf-1.16r3.3/netconf/hosts.cc
*** linuxconf-1.16r3.2/netconf/hosts.cc Thu Aug 12 14:36:12 1999
--- linuxconf-1.16r3.3/netconf/hosts.cc Thu Sep 23 15:15:56 1999
***************
*** 525,529 ****
const char *subsys,
bool _hostid);
! int archive (SSTREAM&ss);
int extract (SSTREAM&ss);
/*~PROTOEND~ CONFIG_FILE_HOSTSVIEW */
--- 525,529 ----
const char *subsys,
bool _hostid);
! int archive (SSTREAM&ss)const;
int extract (SSTREAM&ss);
/*~PROTOEND~ CONFIG_FILE_HOSTSVIEW */
***************
*** 539,543 ****
}
! PUBLIC int CONFIG_FILE_HOSTSVIEW::archive (SSTREAM &ss)
{
configf_sendexist (ss,true);
--- 539,543 ----
}
! PUBLIC int CONFIG_FILE_HOSTSVIEW::archive (SSTREAM &ss) const
{
configf_sendexist (ss,true);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/netconf/netconf.p linuxconf-1.16r3.3/netconf/netconf.p
*** linuxconf-1.16r3.2/netconf/netconf.p Thu Aug 12 17:10:22 1999
--- linuxconf-1.16r3.3/netconf/netconf.p Thu Sep 23 15:15:56 1999
***************
*** 1,11 ****
! /* _dict.cc 14/08/96 16.18.06 */
! /* bootp.cc 25/04/98 11.04.40 */
int bootp_probe (INTER_INFO&itf);
int dhcp_probe (INTER_INFO&itf);
! /* bootrc.cc 20/03/99 00.43.36 */
int bootrc_do (const char *dirpath, const char *prevpath, bool booting);
! /* calcmask.cc 26/07/97 14.08.38 */
! /* command.cc 30/04/98 21.50.10 */
! /* daemon.cc 12/08/99 14.36.10 */
int file_empty (const char *fpath);
void daemon_setsession (char mode);
--- 1,11 ----
! /* _dict.cc 14/08/1996 16.18.06 */
! /* bootp.cc 25/04/1998 11.04.40 */
int bootp_probe (INTER_INFO&itf);
int dhcp_probe (INTER_INFO&itf);
! /* bootrc.cc 20/03/1999 00.43.36 */
int bootrc_do (const char *dirpath, const char *prevpath, bool booting);
! /* calcmask.cc 26/07/1997 14.08.38 */
! /* command.cc 30/04/1998 21.50.10 */
! /* daemon.cc 12/08/1999 14.36.10 */
int file_empty (const char *fpath);
void daemon_setsession (char mode);
***************
*** 22,26 ****
EXPORT int netconf_system (int timeout, const char *cmd);
void netconf_getlastmsgs (void);
! /* daemon1.cc 08/04/99 15.08.14 */
void daemon_register (DAEMON_INTERNAL *dae,
const char *name,
--- 22,26 ----
EXPORT int netconf_system (int timeout, const char *cmd);
void netconf_getlastmsgs (void);
! /* daemon1.cc 08/04/1999 15.08.14 */
void daemon_register (DAEMON_INTERNAL *dae,
const char *name,
***************
*** 31,47 ****
void daemon_config (void);
int daemon_configone (const char *name);
! /* daemoni.cc 23/10/98 00.28.48 */
EXPORT int netconf_system_if (const char *name, const char *args);
! /* daemons.cc 12/08/99 14.36.10 */
DAEMON_INTERNAL *daemon_new (int managed,
const char *name,
const char *buf,
DAEMON_INTERNAL *next);
! /* datetime.cc 03/08/98 11.13.36 */
int datetime_getfromnet (void);
int datetime_getfromcmos (void);
int datetime_edit (void);
void datetime_setmode (const char *mode);
! /* devices.cc 08/06/99 12.24.22 */
int netconf_setloopback (void);
void device_setstdnetmask (const char *hostip, char *def_msk);
--- 31,47 ----
void daemon_config (void);
int daemon_configone (const char *name);
! /* daemoni.cc 23/10/1998 00.28.48 */
EXPORT int netconf_system_if (const char *name, const char *args);
! /* daemons.cc 12/08/1999 14.36.10 */
DAEMON_INTERNAL *daemon_new (int managed,
const char *name,
const char *buf,
DAEMON_INTERNAL *next);
! /* datetime.cc 03/08/1998 11.13.36 */
int datetime_getfromnet (void);
int datetime_getfromcmos (void);
int datetime_edit (void);
void datetime_setmode (const char *mode);
! /* devices.cc 08/06/1999 12.24.22 */
int netconf_setloopback (void);
void device_setstdnetmask (const char *hostip, char *def_msk);
***************
*** 53,57 ****
int netconf_finddevfromhost (const char *hostip, char *dev);
int netconf_convert (const char *str, char ip[], char msk[]);
! /* devlist.cc 19/03/99 22.26.14 */
int devlist_read (SSTRINGS&list,
bool include_normal,
--- 53,57 ----
int netconf_finddevfromhost (const char *hostip, char *dev);
int netconf_convert (const char *str, char ip[], char msk[]);
! /* devlist.cc 12/09/1999 00.31.58 */
int devlist_read (SSTRINGS&list,
bool include_normal,
***************
*** 60,69 ****
int devlist_devexist (const char *devname);
void devlist_setcombo (FIELD_COMBO *comb);
! /* dnsping.cc 25/04/98 11.18.56 */
int dns_ping (void);
long dns_getserial (const char *domain,
const char *server,
int timeout);
! /* dropin.cc 12/08/99 17.09.16 */
int dropin_activate (int netlevel, const char *last_pkg, BOOTRCS&rcs);
int dropin_deactivate (int netlevel);
--- 60,69 ----
int devlist_devexist (const char *devname);
void devlist_setcombo (FIELD_COMBO *comb);
! /* dnsping.cc 25/04/1998 11.18.56 */
int dns_ping (void);
long dns_getserial (const char *domain,
const char *server,
int timeout);
! /* dropin.cc 13/08/1999 23.01.36 */
int dropin_activate (int netlevel, const char *last_pkg, BOOTRCS&rcs);
int dropin_deactivate (int netlevel);
***************
*** 78,84 ****
void dropin_addbootequiv (BOOTRCS&rcs);
void dropin_module_load (void);
! /* exports.cc 12/08/99 14.36.10 */
void exports_edit (void);
! /* groutes.cc 08/04/99 15.28.10 */
void groutes_sethook (int (*_fct_load)(ROUTES&rt),
int (*_fct_save)(SSTRING&defroute, ROUTES&rt));
--- 78,84 ----
void dropin_addbootequiv (BOOTRCS&rcs);
void dropin_module_load (void);
! /* exports.cc 12/08/1999 14.36.10 */
void exports_edit (void);
! /* groutes.cc 08/04/1999 15.28.10 */
void groutes_sethook (int (*_fct_load)(ROUTES&rt),
int (*_fct_save)(SSTRING&defroute, ROUTES&rt));
***************
*** 86,91 ****
void netconf_editroutes (void);
void groutes_setgateway (const char *ip, bool verbose);
! /* helpf.cc 10/02/98 10.50.16 */
! /* host.cc 29/03/99 11.21.58 */
char *menu_setupopt (char *dst, const char *menu, const char *curval);
void host_setmasklist (FIELD_COMBO *comb);
--- 86,91 ----
void netconf_editroutes (void);
void groutes_setgateway (const char *ip, bool verbose);
! /* helpf.cc 10/02/1998 10.50.16 */
! /* host.cc 30/08/1999 23.44.24 */
char *menu_setupopt (char *dst, const char *menu, const char *curval);
void host_setmasklist (FIELD_COMBO *comb);
***************
*** 101,105 ****
HOSTINFO&info);
void netconf_edithost (void);
! /* hostinfo.cc 09/05/98 13.55.28 */
void hostinfo_setnames (DEVICE_NAME_INFO&nm, int nodev);
void hostinfo_sethook (int (*fload)(HOSTS&, HOSTINFO&),
--- 101,105 ----
HOSTINFO&info);
void netconf_edithost (void);
! /* hostinfo.cc 09/05/1998 13.55.28 */
void hostinfo_setnames (DEVICE_NAME_INFO&nm, int nodev);
void hostinfo_sethook (int (*fload)(HOSTS&, HOSTINFO&),
***************
*** 118,122 ****
const char *netmask,
const char *device);
! /* hosts.cc 12/08/99 14.36.12 */
void *operator new (size_t size);
char *replaceif (char *last, const char *newval);
--- 118,122 ----
const char *netmask,
const char *device);
! /* hosts.cc 23/09/1999 15.15.44 */
void *operator new (size_t size);
char *replaceif (char *last, const char *newval);
***************
*** 124,136 ****
void netconf_edithosts (void);
void netconf_editnet (void);
! /* html_access.cc 12/08/99 14.36.10 */
void html_access_edit (void);
int html_access_check (int fd);
void html_access_log (int fd, const char *msg);
! /* ifconfig.cc 19/04/99 10.50.30 */
int ifconfig_getinfo_nocheck (const char *ifname, IFCONFIG_INFO&info);
int ifconfig_getinfo (const char *ifname, IFCONFIG_INFO&info);
! /* internal.cc 03/10/95 01.09.14 */
! /* ipalias.cc 07/04/99 22.56.22 */
void ipalias_sethook (int (*fct_load)(const char *devname, SSTRINGS&, SSTRINGS
&),
--- 124,136 ----
void netconf_edithosts (void);
void netconf_editnet (void);
! /* html_access.cc 12/09/1999 00.45.36 */
void html_access_edit (void);
int html_access_check (int fd);
void html_access_log (int fd, const char *msg);
! /* ifconfig.cc 19/04/1999 10.50.30 */
int ifconfig_getinfo_nocheck (const char *ifname, IFCONFIG_INFO&info);
int ifconfig_getinfo (const char *ifname, IFCONFIG_INFO&info);
! /* internal.cc 03/10/1995 01.09.14 */
! /* ipalias.cc 12/09/1999 00.35.12 */
void ipalias_sethook (int (*fct_load)(const char *devname, SSTRINGS&, SSTRINGS
&),
***************
*** 140,152 ****
int ipalias_setup (void);
void alias_edit (void);
! /* ipx.cc 03/03/99 22.20.54 */
void ipx_saveinter (IPX_INTER_INFO&itf, int nodev);
void ipx_loadinter (IPX_INTER_INFO&itf, int nodev);
void ipx_edit (void);
int ipx_set (const char *dev);
! /* level.cc 10/02/98 11.08.26 */
void netconf_setnetlevel (int level);
int netconf_getnetlevel (void);
! /* net.cc 06/03/99 23.21.42 */
int net_isipnum (const char *str);
int net_setshowmode (int mode);
--- 140,152 ----
int ipalias_setup (void);
void alias_edit (void);
! /* ipx.cc 13/08/1999 11.24.30 */
void ipx_saveinter (IPX_INTER_INFO&itf, int nodev);
void ipx_loadinter (IPX_INTER_INFO&itf, int nodev);
void ipx_edit (void);
int ipx_set (const char *dev);
! /* level.cc 10/02/1998 11.08.26 */
void netconf_setnetlevel (int level);
int netconf_getnetlevel (void);
! /* net.cc 06/03/1999 23.21.42 */
int net_isipnum (const char *str);
int net_setshowmode (int mode);
***************
*** 165,169 ****
EXPORT void net_section (const char *msg);
EXPORT void net_showlog (void);
! /* netconf.cc 10/07/99 16.31.46 */
void netconf_update (int msg);
void netconf_update (void);
--- 165,169 ----
EXPORT void net_section (const char *msg);
EXPORT void net_showlog (void);
! /* netconf.cc 10/07/1999 16.31.46 */
void netconf_update (int msg);
void netconf_update (void);
***************
*** 177,185 ****
EXPORT bool netconf_rootaccess (void);
int netconf_main (int argc, char *argv[]);
! /* networks.cc 15/06/98 18.55.30 */
! /* nis.cc 10/02/98 11.22.54 */
void netconf_editnis (void);
int netconf_domainname (int argc, char *argv[]);
! /* process.cc 10/02/98 11.24.12 */
void process_flushcache (void);
int process_read (void);
--- 177,185 ----
EXPORT bool netconf_rootaccess (void);
int netconf_main (int argc, char *argv[]);
! /* networks.cc 15/06/1998 18.55.30 */
! /* nis.cc 10/02/1998 11.22.54 */
void netconf_editnis (void);
int netconf_domainname (int argc, char *argv[]);
! /* process.cc 10/02/1998 11.24.12 */
void process_flushcache (void);
int process_read (void);
***************
*** 187,191 ****
int process_findchild (int pid);
long process_isactive (const char *path);
! /* resolv.cc 12/08/99 14.36.12 */
void dnsconf_editresolv (void);
int resolv_updateconf (const char *domain,
--- 187,191 ----
int process_findchild (int pid);
long process_isactive (const char *path);
! /* resolv.cc 12/08/1999 14.36.12 */
void dnsconf_editresolv (void);
int resolv_updateconf (const char *domain,
***************
*** 196,210 ****
void dnsconf_editorder (void);
void resolv_getdomain (char *domain);
! /* routed.cc 02/05/98 23.22.34 */
void routed_edit (void);
! /* routes.cc 07/04/99 23.49.58 */
int route_install (const char *routedev,
bool dev_normal,
bool dev_aliases);
int route_isactive (const char *dest, char *gateway);
! /* routes1.cc 03/05/98 01.25.48 */
! /* simple.cc 27/01/99 19.05.26 */
void simple_install (void);
! /* simul.cc 27/08/98 16.14.42 */
void simul_init (void);
void simul_init (FILE *f);
--- 196,210 ----
void dnsconf_editorder (void);
void resolv_getdomain (char *domain);
! /* routed.cc 02/05/1998 23.22.34 */
void routed_edit (void);
! /* routes.cc 07/04/1999 23.49.58 */
int route_install (const char *routedev,
bool dev_normal,
bool dev_aliases);
int route_isactive (const char *dest, char *gateway);
! /* routes1.cc 03/05/1998 01.25.48 */
! /* simple.cc 27/01/1999 19.05.26 */
void simple_install (void);
! /* simul.cc 27/08/1998 16.14.42 */
void simul_init (void);
void simul_init (FILE *f);
***************
*** 218,222 ****
void simul_addmsg (const char *ctl, ...);
int simul_prompt (bool showdontquit);
! /* start.cc 12/08/99 17.10.16 */
int netconf_startstop (const char *name, const char *service, int &go);
void netconf_setservhook (int (*_fct_serv_get)(SERVICES&tb),
--- 218,222 ----
void simul_addmsg (const char *ctl, ...);
int simul_prompt (bool showdontquit);
! /* start.cc 16/09/1999 17.55.00 */
int netconf_startstop (const char *name, const char *service, int &go);
void netconf_setservhook (int (*_fct_serv_get)(SERVICES&tb),
***************
*** 229,234 ****
void service_control (void);
int netconf_hint (int argc, char *argv[]);
! /* thishost.cc 04/04/98 00.19.30 */
! /* thishost1.cc 06/05/98 14.17.28 */
bool netconf_netok (char *status, char hostname[200]);
bool netconf_netok (char *status);
--- 229,234 ----
void service_control (void);
int netconf_hint (int argc, char *argv[]);
! /* thishost.cc 04/04/1998 00.19.30 */
! /* thishost1.cc 06/05/1998 14.17.28 */
bool netconf_netok (char *status, char hostname[200]);
bool netconf_netok (char *status);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/netconf/netconf.pe linuxconf-1.16r3.3/netconf/netconf.pe
*** linuxconf-1.16r3.2/netconf/netconf.pe Thu Aug 12 17:10:23 1999
--- linuxconf-1.16r3.3/netconf/netconf.pe Thu Sep 23 15:15:57 1999
***************
*** 1,32 ****
! /* _dict.cc 14/08/96 16.18.06 */
! /* bootp.cc 25/04/98 11.04.40 */
! /* bootrc.cc 20/03/99 00.43.36 */
! /* calcmask.cc 26/07/97 14.08.38 */
! /* command.cc 30/04/98 21.50.10 */
! /* daemon.cc 12/08/99 14.36.10 */
EXPORT int netconf_system (int timeout, const char *cmd);
! /* daemon1.cc 08/04/99 15.08.14 */
EXPORT DAEMON_INTERNAL *daemon_find (const char *name);
! /* daemoni.cc 23/10/98 00.28.48 */
EXPORT int netconf_system_if (const char *name, const char *args);
! /* daemons.cc 12/08/99 14.36.10 */
! /* datetime.cc 03/08/98 11.13.36 */
! /* devices.cc 08/06/99 12.24.22 */
! /* devlist.cc 19/03/99 22.26.14 */
! /* dnsping.cc 25/04/98 11.18.56 */
! /* dropin.cc 12/08/99 17.09.16 */
! /* exports.cc 12/08/99 14.36.10 */
! /* groutes.cc 08/04/99 15.28.10 */
! /* helpf.cc 10/02/98 10.50.16 */
! /* host.cc 29/03/99 11.21.58 */
! /* hostinfo.cc 09/05/98 13.55.28 */
! /* hosts.cc 12/08/99 14.36.12 */
! /* html_access.cc 12/08/99 14.36.10 */
! /* ifconfig.cc 19/04/99 10.50.30 */
! /* internal.cc 03/10/95 01.09.14 */
! /* ipalias.cc 07/04/99 22.56.22 */
! /* ipx.cc 03/03/99 22.20.54 */
! /* level.cc 10/02/98 11.08.26 */
! /* net.cc 06/03/99 23.21.42 */
EXPORT void net_hint (const char *var, const char *value, ...);
EXPORT void net_prtlog (int level, const char *ctl, ...);
--- 1,32 ----
! /* _dict.cc 14/08/1996 16.18.06 */
! /* bootp.cc 25/04/1998 11.04.40 */
! /* bootrc.cc 20/03/1999 00.43.36 */
! /* calcmask.cc 26/07/1997 14.08.38 */
! /* command.cc 30/04/1998 21.50.10 */
! /* daemon.cc 12/08/1999 14.36.10 */
EXPORT int netconf_system (int timeout, const char *cmd);
! /* daemon1.cc 08/04/1999 15.08.14 */
EXPORT DAEMON_INTERNAL *daemon_find (const char *name);
! /* daemoni.cc 23/10/1998 00.28.48 */
EXPORT int netconf_system_if (const char *name, const char *args);
! /* daemons.cc 12/08/1999 14.36.10 */
! /* datetime.cc 03/08/1998 11.13.36 */
! /* devices.cc 08/06/1999 12.24.22 */
! /* devlist.cc 12/09/1999 00.31.58 */
! /* dnsping.cc 25/04/1998 11.18.56 */
! /* dropin.cc 23/09/1999 15.15.56 */
! /* exports.cc 12/08/1999 14.36.10 */
! /* groutes.cc 08/04/1999 15.28.10 */
! /* helpf.cc 10/02/1998 10.50.16 */
! /* host.cc 30/08/1999 23.44.24 */
! /* hostinfo.cc 09/05/1998 13.55.28 */
! /* hosts.cc 23/09/1999 15.15.56 */
! /* html_access.cc 12/09/1999 00.45.36 */
! /* ifconfig.cc 19/04/1999 10.50.30 */
! /* internal.cc 03/10/1995 01.09.14 */
! /* ipalias.cc 12/09/1999 00.35.12 */
! /* ipx.cc 13/08/1999 11.24.30 */
! /* level.cc 10/02/1998 11.08.26 */
! /* net.cc 06/03/1999 23.21.42 */
EXPORT void net_hint (const char *var, const char *value, ...);
EXPORT void net_prtlog (int level, const char *ctl, ...);
***************
*** 35,56 ****
EXPORT void net_section (const char *msg);
EXPORT void net_showlog (void);
! /* netconf.cc 10/07/99 16.31.46 */
EXPORT int netconf_checkupdate (bool showdontquit);
EXPORT bool netconf_mainaccess (void);
EXPORT bool netconf_rootaccess (const char *msg);
EXPORT bool netconf_rootaccess (void);
! /* networks.cc 15/06/98 18.55.30 */
! /* nis.cc 10/02/98 11.22.54 */
! /* process.cc 10/02/98 11.24.12 */
! /* resolv.cc 12/08/99 14.36.12 */
! /* routed.cc 02/05/98 23.22.34 */
! /* routes.cc 07/04/99 23.49.58 */
! /* routes1.cc 03/05/98 01.25.48 */
! /* simple.cc 27/01/99 19.05.26 */
! /* simul.cc 27/08/98 16.14.42 */
EXPORT int simul_isdemo (void);
EXPORT int simul_ishint (void);
EXPORT int simul_ison (void);
! /* start.cc 12/08/99 17.10.22 */
! /* thishost.cc 04/04/98 00.19.30 */
! /* thishost1.cc 06/05/98 14.17.28 */
--- 35,56 ----
EXPORT void net_section (const char *msg);
EXPORT void net_showlog (void);
! /* netconf.cc 10/07/1999 16.31.46 */
EXPORT int netconf_checkupdate (bool showdontquit);
EXPORT bool netconf_mainaccess (void);
EXPORT bool netconf_rootaccess (const char *msg);
EXPORT bool netconf_rootaccess (void);
! /* networks.cc 15/06/1998 18.55.30 */
! /* nis.cc 10/02/1998 11.22.54 */
! /* process.cc 10/02/1998 11.24.12 */
! /* resolv.cc 12/08/1999 14.36.12 */
! /* routed.cc 02/05/1998 23.22.34 */
! /* routes.cc 07/04/1999 23.49.58 */
! /* routes1.cc 03/05/1998 01.25.48 */
! /* simple.cc 27/01/1999 19.05.26 */
! /* simul.cc 27/08/1998 16.14.42 */
EXPORT int simul_isdemo (void);
EXPORT int simul_ishint (void);
EXPORT int simul_ison (void);
! /* start.cc 16/09/1999 17.55.00 */
! /* thishost.cc 04/04/1998 00.19.30 */
! /* thishost1.cc 06/05/1998 14.17.28 */
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/netconf/netconf.pm linuxconf-1.16r3.3/netconf/netconf.pm
*** linuxconf-1.16r3.2/netconf/netconf.pm Thu Aug 12 17:10:22 1999
--- linuxconf-1.16r3.3/netconf/netconf.pm Thu Sep 23 15:15:56 1999
***************
*** 1,5 ****
! /* _dict.cc 14/08/96 16.18.06 */
! /* bootp.cc 25/04/98 11.04.40 */
! /* bootrc.cc 20/03/99 00.43.36 */
PUBLIC CONFIG_SYSV::CONFIG_SYSV (const char *str, int _autoreload);
PUBLIC CONFIG_SYSV *CONFIG_SYSVS::getitem (int no)const;
--- 1,5 ----
! /* _dict.cc 14/08/1996 16.18.06 */
! /* bootp.cc 25/04/1998 11.04.40 */
! /* bootrc.cc 20/03/1999 00.43.36 */
PUBLIC CONFIG_SYSV::CONFIG_SYSV (const char *str, int _autoreload);
PUBLIC CONFIG_SYSV *CONFIG_SYSVS::getitem (int no)const;
***************
*** 27,32 ****
PUBLIC void BOOTRCS::startrest (void);
PUBLIC void BOOTRCS::dostopcmds (void);
! /* calcmask.cc 26/07/97 14.08.38 */
! /* command.cc 30/04/98 21.50.10 */
PRIVATE void COMMAND::init (const char *line);
PUBLIC COMMAND::COMMAND (void);
--- 27,32 ----
PUBLIC void BOOTRCS::startrest (void);
PUBLIC void BOOTRCS::dostopcmds (void);
! /* calcmask.cc 26/07/1997 14.08.38 */
! /* command.cc 30/04/1998 21.50.10 */
PRIVATE void COMMAND::init (const char *line);
PUBLIC COMMAND::COMMAND (void);
***************
*** 41,45 ****
const char *sem_file);
PUBLIC int COMMAND::kill (int signal_num);
! /* daemon.cc 12/08/99 14.36.10 */
PUBLIC DAEMON::DAEMON (void);
PUBLIC PIPEINFO::PIPEINFO (const char *cmd,
--- 41,45 ----
const char *sem_file);
PUBLIC int COMMAND::kill (int signal_num);
! /* daemon.cc 12/08/1999 14.36.10 */
PUBLIC DAEMON::DAEMON (void);
PUBLIC PIPEINFO::PIPEINFO (const char *cmd,
***************
*** 64,70 ****
PUBLIC VIRTUAL int DAEMON::startif (void);
PUBLIC const char *DAEMON::getname (void);
! /* daemon1.cc 08/04/99 15.08.14 */
PUBLIC int DAEMON_INTERNAL::edit (void);
! /* daemoni.cc 23/10/98 00.28.48 */
PUBLIC DAEMON_INTERNAL::DAEMON_INTERNAL (void);
PUBLIC void DAEMON_INTERNAL::init (int _managed,
--- 64,70 ----
PUBLIC VIRTUAL int DAEMON::startif (void);
PUBLIC const char *DAEMON::getname (void);
! /* daemon1.cc 08/04/1999 15.08.14 */
PUBLIC int DAEMON_INTERNAL::edit (void);
! /* daemoni.cc 23/10/1998 00.28.48 */
PUBLIC DAEMON_INTERNAL::DAEMON_INTERNAL (void);
PUBLIC void DAEMON_INTERNAL::init (int _managed,
***************
*** 94,98 ****
PUBLIC void DAEMON_INTERNAL::set_managed (int _managed);
PUBLIC void DAEMON_INTERNAL::set_override (int _over);
! /* daemons.cc 12/08/99 14.36.10 */
PUBLIC int DAEMON_INETD::restart (void);
PUBLIC int DAEMON_INETD::startif (void);
--- 94,98 ----
PUBLIC void DAEMON_INTERNAL::set_managed (int _managed);
PUBLIC void DAEMON_INTERNAL::set_override (int _over);
! /* daemons.cc 12/08/1999 14.36.10 */
PUBLIC int DAEMON_INETD::restart (void);
PUBLIC int DAEMON_INETD::startif (void);
***************
*** 115,119 ****
PUBLIC int DAEMON_YPBIND::startif (void);
PUBLIC int DAEMON_SYSLOGD::startif (void);
! /* datetime.cc 03/08/98 11.13.36 */
PUBLIC DATETIME::DATETIME (void);
PUBLIC void DATETIME::save (void);
--- 115,119 ----
PUBLIC int DAEMON_YPBIND::startif (void);
PUBLIC int DAEMON_SYSLOGD::startif (void);
! /* datetime.cc 03/08/1998 11.13.36 */
PUBLIC DATETIME::DATETIME (void);
PUBLIC void DATETIME::save (void);
***************
*** 122,129 ****
PUBLIC int DATETIME::getfromcmos (void);
PUBLIC int DATETIME::getfromnet (void);
! /* devices.cc 08/06/99 12.24.22 */
! /* devlist.cc 19/03/99 22.26.14 */
! /* dnsping.cc 25/04/98 11.18.56 */
! /* dropin.cc 12/08/99 17.09.16 */
PUBLIC RCSYSV::RCSYSV (void);
PROTECTED void RCSYSV::deletepids (void);
--- 122,129 ----
PUBLIC int DATETIME::getfromcmos (void);
PUBLIC int DATETIME::getfromnet (void);
! /* devices.cc 08/06/1999 12.24.22 */
! /* devlist.cc 12/09/1999 00.31.58 */
! /* dnsping.cc 25/04/1998 11.18.56 */
! /* dropin.cc 13/08/1999 23.01.36 */
PUBLIC RCSYSV::RCSYSV (void);
PROTECTED void RCSYSV::deletepids (void);
***************
*** 155,159 ****
const char *key2,
SSTRINGS&tb);
! PUBLIC DROPIN::DROPIN (const char *_path, bool _localconf);
PUBLIC DROPIN::DROPIN (void);
PRIVATE void DROPIN::replace (CONFDB&conf,
--- 155,159 ----
const char *key2,
SSTRINGS&tb);
! PUBLIC DROPIN::DROPIN (const char *_name, bool _localconf);
PUBLIC DROPIN::DROPIN (void);
PRIVATE void DROPIN::replace (CONFDB&conf,
***************
*** 213,217 ****
PUBLIC void DROPIN_SUBSYSS::alloc (int n);
PUBLIC void RCSYSV::list_config (DROPIN_SUBSYSS&subs);
! /* exports.cc 12/08/99 14.36.10 */
PRIVATE void HOST_OPT::init (void);
PUBLIC HOST_OPT::HOST_OPT (const char *_host, const char *options);
--- 213,217 ----
PUBLIC void DROPIN_SUBSYSS::alloc (int n);
PUBLIC void RCSYSV::list_config (DROPIN_SUBSYSS&subs);
! /* exports.cc 12/08/1999 14.36.10 */
PRIVATE void HOST_OPT::init (void);
PUBLIC HOST_OPT::HOST_OPT (const char *_host, const char *options);
***************
*** 235,245 ****
PUBLIC int EXPORTS::write (void);
PUBLIC int EXPORTS::edit (void);
! /* groutes.cc 08/04/99 15.28.10 */
PUBLIC void ROUTES::readconf (void);
! /* helpf.cc 10/02/98 10.50.16 */
PUBLIC NETCONF_HELP_FILE::NETCONF_HELP_FILE (const char *fname);
! /* host.cc 29/03/99 11.21.58 */
! /* hostinfo.cc 09/05/98 13.55.28 */
! /* hosts.cc 12/08/99 14.36.12 */
PUBLIC void HOST::set (const char *buf);
PUBLIC HOST::HOST (const char *buf);
--- 235,245 ----
PUBLIC int EXPORTS::write (void);
PUBLIC int EXPORTS::edit (void);
! /* groutes.cc 08/04/1999 15.28.10 */
PUBLIC void ROUTES::readconf (void);
! /* helpf.cc 10/02/1998 10.50.16 */
PUBLIC NETCONF_HELP_FILE::NETCONF_HELP_FILE (const char *fname);
! /* host.cc 30/08/1999 23.44.24 */
! /* hostinfo.cc 09/05/1998 13.55.28 */
! /* hosts.cc 23/09/1999 15.15.44 */
PUBLIC void HOST::set (const char *buf);
PUBLIC HOST::HOST (const char *buf);
***************
*** 285,293 ****
const char *subsys,
bool _hostid);
! PUBLIC int CONFIG_FILE_HOSTSVIEW::archive (SSTREAM&ss);
PUBLIC int CONFIG_FILE_HOSTSVIEW::extract (SSTREAM&ss);
PUBLIC CONFIG_FILE_HOSTID::CONFIG_FILE_HOSTID (void);
PUBLIC CONFIG_FILE_HOSTCLIENT::CONFIG_FILE_HOSTCLIENT (void);
! /* html_access.cc 12/08/99 14.36.10 */
PUBLIC HTML_ACCESS::HTML_ACCESS (const char *_net, const char *_mask);
PUBLIC HTML_ACCESS_TB::HTML_ACCESS_TB (void);
--- 285,293 ----
const char *subsys,
bool _hostid);
! PUBLIC int CONFIG_FILE_HOSTSVIEW::archive (SSTREAM&ss)const;
PUBLIC int CONFIG_FILE_HOSTSVIEW::extract (SSTREAM&ss);
PUBLIC CONFIG_FILE_HOSTID::CONFIG_FILE_HOSTID (void);
PUBLIC CONFIG_FILE_HOSTCLIENT::CONFIG_FILE_HOSTCLIENT (void);
! /* html_access.cc 12/09/1999 00.45.36 */
PUBLIC HTML_ACCESS::HTML_ACCESS (const char *_net, const char *_mask);
PUBLIC HTML_ACCESS_TB::HTML_ACCESS_TB (void);
***************
*** 300,306 ****
PUBLIC int HTML_ACCESS_TB::check (unsigned long badr, int printlog);
PUBLIC void HTML_ACCESS_TB::setdefaults (void);
! /* ifconfig.cc 19/04/99 10.50.30 */
! /* internal.cc 03/10/95 01.09.14 */
! /* ipalias.cc 07/04/99 22.56.22 */
PRIVATE void IP_ALIAS::init (int _num,
const char *_ip,
--- 300,306 ----
PUBLIC int HTML_ACCESS_TB::check (unsigned long badr, int printlog);
PUBLIC void HTML_ACCESS_TB::setdefaults (void);
! /* ifconfig.cc 19/04/1999 10.50.30 */
! /* internal.cc 03/10/1995 01.09.14 */
! /* ipalias.cc 12/09/1999 00.35.12 */
PRIVATE void IP_ALIAS::init (int _num,
const char *_ip,
***************
*** 323,327 ****
PUBLIC int IP_ALIASES::unsetall (const char *devname);
PUBLIC int IP_ALIASES::setup (const char *devname);
! /* ipx.cc 03/03/99 22.20.54 */
PUBLIC IPX_INFO::IPX_INFO (void);
PRIVATE void IPX_INFO::probe_auto (void);
--- 323,327 ----
PUBLIC int IP_ALIASES::unsetall (const char *devname);
PUBLIC int IP_ALIASES::setup (const char *devname);
! /* ipx.cc 13/08/1999 11.24.30 */
PUBLIC IPX_INFO::IPX_INFO (void);
PRIVATE void IPX_INFO::probe_auto (void);
***************
*** 330,337 ****
PUBLIC int IPX_INFO::edit (void);
PUBLIC int IPX_INFO::set (const char *dev);
! /* level.cc 10/02/98 11.08.26 */
! /* net.cc 06/03/99 23.21.42 */
! /* netconf.cc 10/07/99 16.31.46 */
! /* networks.cc 15/06/98 18.55.30 */
PUBLIC NETWORK::NETWORK (const char *buf);
PUBLIC NETWORK::NETWORK (const char *_ip_num,
--- 330,337 ----
PUBLIC int IPX_INFO::edit (void);
PUBLIC int IPX_INFO::set (const char *dev);
! /* level.cc 10/02/1998 11.08.26 */
! /* net.cc 06/03/1999 23.21.42 */
! /* netconf.cc 10/07/1999 16.31.46 */
! /* networks.cc 15/06/1998 18.55.30 */
PUBLIC NETWORK::NETWORK (const char *buf);
PUBLIC NETWORK::NETWORK (const char *_ip_num,
***************
*** 348,352 ****
const char *_comment);
PUBLIC VIRTUAL HOST *NETWORKS::newhost (const char *buf);
! /* nis.cc 10/02/98 11.22.54 */
PUBLIC NIS_CONF::NIS_CONF (void);
PUBLIC int NIS_CONF::valid_server (void);
--- 348,352 ----
const char *_comment);
PUBLIC VIRTUAL HOST *NETWORKS::newhost (const char *buf);
! /* nis.cc 10/02/1998 11.22.54 */
PUBLIC NIS_CONF::NIS_CONF (void);
PUBLIC int NIS_CONF::valid_server (void);
***************
*** 356,360 ****
PUBLIC void NIS_CONF::write (void);
PUBLIC int NIS_CONF::edit (void);
! /* process.cc 10/02/98 11.24.12 */
PUBLIC PROC::PROC (int _pid, PROC *_next);
PUBLIC PROC::~PROC (void);
--- 356,360 ----
PUBLIC void NIS_CONF::write (void);
PUBLIC int NIS_CONF::edit (void);
! /* process.cc 10/02/1998 11.24.12 */
PUBLIC PROC::PROC (int _pid, PROC *_next);
PUBLIC PROC::~PROC (void);
***************
*** 367,376 ****
PUBLIC int PROC::getppid (void);
PUBLIC long PROC::getstarttime (void);
! /* resolv.cc 12/08/99 14.36.12 */
PRIVATE void RESOLV::parse (const char *pt);
PUBLIC RESOLV::RESOLV (void);
PUBLIC void RESOLV::reset (void);
PUBLIC int RESOLV::write (void);
! /* routed.cc 02/05/98 23.22.34 */
PUBLIC ROUTED::ROUTED (void);
PUBLIC void ROUTED::save (void);
--- 367,376 ----
PUBLIC int PROC::getppid (void);
PUBLIC long PROC::getstarttime (void);
! /* resolv.cc 12/08/1999 14.36.12 */
PRIVATE void RESOLV::parse (const char *pt);
PUBLIC RESOLV::RESOLV (void);
PUBLIC void RESOLV::reset (void);
PUBLIC int RESOLV::write (void);
! /* routed.cc 02/05/1998 23.22.34 */
PUBLIC ROUTED::ROUTED (void);
PUBLIC void ROUTED::save (void);
***************
*** 378,382 ****
PUBLIC void ROUTED::setoptions (char *buf);
PUBLIC int ROUTED::edit (void);
! /* routes.cc 07/04/99 23.49.58 */
PUBLIC ROUTE::ROUTE (const char *dst,
const char *gate,
--- 378,382 ----
PUBLIC void ROUTED::setoptions (char *buf);
PUBLIC int ROUTED::edit (void);
! /* routes.cc 07/04/1999 23.49.58 */
PUBLIC ROUTE::ROUTE (const char *dst,
const char *gate,
***************
*** 410,418 ****
PUBLIC void ROUTES::readbyme (void);
PUBLIC void ROUTES::writebyme (void);
! /* routes1.cc 03/05/98 01.25.48 */
PUBLIC int ROUTE::edit (RTTYPE route_type);
! /* simple.cc 27/01/99 19.05.26 */
! /* simul.cc 27/08/98 16.14.42 */
! /* start.cc 12/08/99 17.10.16 */
PUBLIC SERVICE::SERVICE (const char *_name,
const char *_desc,
--- 410,418 ----
PUBLIC void ROUTES::readbyme (void);
PUBLIC void ROUTES::writebyme (void);
! /* routes1.cc 03/05/1998 01.25.48 */
PUBLIC int ROUTE::edit (RTTYPE route_type);
! /* simple.cc 27/01/1999 19.05.26 */
! /* simul.cc 27/08/1998 16.14.42 */
! /* start.cc 16/09/1999 17.55.00 */
PUBLIC SERVICE::SERVICE (const char *_name,
const char *_desc,
***************
*** 428,432 ****
PUBLIC SERVICE *SERVICES::getitem (int no)const;
PUBLIC void SERVICES::sort (void);
! /* thishost.cc 04/04/98 00.19.30 */
PUBLIC THISHOST::THISHOST (void);
PUBLIC THISHOST::~THISHOST (void);
--- 428,432 ----
PUBLIC SERVICE *SERVICES::getitem (int no)const;
PUBLIC void SERVICES::sort (void);
! /* thishost.cc 04/04/1998 00.19.30 */
PUBLIC THISHOST::THISHOST (void);
PUBLIC THISHOST::~THISHOST (void);
***************
*** 435,437 ****
PUBLIC const char *THISHOST::getdomain (void);
PUBLIC int THISHOST::configok (void);
! /* thishost1.cc 06/05/98 14.17.28 */
--- 435,437 ----
PUBLIC const char *THISHOST::getdomain (void);
PUBLIC int THISHOST::configok (void);
! /* thishost1.cc 06/05/1998 14.17.28 */
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/netconf/resolv.cc linuxconf-1.16r3.3/netconf/resolv.cc
*** linuxconf-1.16r3.2/netconf/resolv.cc Thu Aug 12 14:36:12 1999
--- linuxconf-1.16r3.3/netconf/resolv.cc Fri Sep 24 00:02:52 1999
***************
*** 170,176 ****
,MSG_U(M_DNSNEEDED,"DNS is required for normal operation"));
dia.newf_str (MSG_U(F_DEFDOM,"default domain"),res.domain);
! dia.newf_str (MSG_U(F_NAMESERV1,"nameserver 1"),res.servers[0]);
! dia.newf_str (MSG_U(F_NAMESERV2,"nameserver 2 (opt)"),res.servers[1]);
! dia.newf_str (MSG_U(F_NAMESERV3,"nameserver 3 (opt)"),res.servers[2]);
for (int i=0; i libfiles
+ (cd $RPM_BUILD_ROOT/usr/lib/linuxconf; find . -type d -print) |
+ grep -v '^\./help\.' | grep -v '^\.$' |
+ sed 's:^\./:%dir /usr/lib/linuxconf/:g' >> libfiles
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/rules.mak linuxconf-1.16r3.3/rules.mak
*** linuxconf-1.16r3.2/rules.mak Tue Sep 21 09:26:07 1999
--- linuxconf-1.16r3.3/rules.mak Thu Sep 30 23:16:21 1999
***************
*** 19,23 ****
LINUXCONF_REV=1.16
LINUXCONF_SUBREV=3
! LINUXCONF_SUBSUBREV=2
# liblinuxconf revision
LIB_REV=1
--- 19,23 ----
LINUXCONF_REV=1.16
LINUXCONF_SUBREV=3
! LINUXCONF_SUBSUBREV=3
# liblinuxconf revision
LIB_REV=1
***************
*** 71,75 ****
@$(MAKE) GPP=checkerg++ GCC=checkergcc all
! LIBGD=-lgd
ifndef LINUXCONF_PATH
--- 71,75 ----
@$(MAKE) GPP=checkerg++ GCC=checkergcc all
! LIBGD=-lgd -lpng -lz
ifndef LINUXCONF_PATH
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/user.cc linuxconf-1.16r3.3/userconf/user.cc
*** linuxconf-1.16r3.2/userconf/user.cc Mon Sep 13 00:21:06 1999
--- linuxconf-1.16r3.3/userconf/user.cc Thu Sep 23 22:48:30 1999
***************
*** 574,579 ****
const char *name)
{
! comngs.set_str ("name",name);
! return comngs.validate(dia,field);
}
--- 574,608 ----
const char *name)
{
! int ret = 0;
! /* #Specification: user account / login id / lexical validation
! The following character are invalid in a login id
! #
! space, : ( ) [ ] ' " | & ; ` *
! #
! and any ASCII character below 32 (space)
! */
! const char *pt = name;
! while (*pt != '\0'){
! if (*pt < ' ') ret = -1;
! pt++;
! }
! const char *ivld = " :()[]\"'|&;,`*";
! while (*ivld != '\0'){
! if (strchr(name,*ivld)!=NULL){
! ret = -1;
! }
! ivld++;
! }
! if (ret == -1){
! xconf_error (MSG_U(E_IVLDLOGINCHAR,
! "Invalid character in login name.\n"
! "The following a illegal:\n"
! " space , : ( ) [ ] ' \" | & ;"));
! field = 2;
! }else{
! comngs.set_str ("name",name);
! ret = comngs.validate(dia,field);
! }
! return ret;
}
***************
*** 811,818 ****
during edition.
*/
! if (name.is_empty()){
! xconf_error (MSG_U(E_NONAME,"No login name supplied"));
! }else if (name.strchr(':') != NULL
! || comment.strchr(':') != NULL
|| group.strchr(':') != NULL
|| struid.strchr(':') != NULL
--- 840,844 ----
during edition.
*/
! if (comment.strchr(':') != NULL
|| group.strchr(':') != NULL
|| struid.strchr(':') != NULL
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/userconf.cc linuxconf-1.16r3.3/userconf/userconf.cc
*** linuxconf-1.16r3.2/userconf/userconf.cc Mon May 10 23:46:24 1999
--- linuxconf-1.16r3.3/userconf/userconf.cc Sun Oct 3 22:28:37 1999
***************
*** 297,307 ****
if (netconf_mainaccess ()){
if (argc == 6 && strcmp(argv[1],"--adduser")==0){
! users_add (argv[2],argv[3],argv[4],argv[5]);
}else if (argc == 3 && strcmp(argv[1],"--deluser")==0){
! users_del (argv[2]);
}else if (argc == 3 && strcmp(argv[1],"--addgroup")==0){
! groups_add (argv[2]);
}else if (argc == 3 && strcmp(argv[1],"--delgroup")==0){
! groups_del (argv[2]);
}else if (argc == 2 && strcmp(argv[1],"--help")==0){
usage();
--- 297,315 ----
if (netconf_mainaccess ()){
if (argc == 6 && strcmp(argv[1],"--adduser")==0){
! if (netconf_rootaccess()){
! users_add (argv[2],argv[3],argv[4],argv[5]);
! }
}else if (argc == 3 && strcmp(argv[1],"--deluser")==0){
! if (netconf_rootaccess()){
! users_del (argv[2]);
! }
}else if (argc == 3 && strcmp(argv[1],"--addgroup")==0){
! if (netconf_rootaccess()){
! groups_add (argv[2]);
! }
}else if (argc == 3 && strcmp(argv[1],"--delgroup")==0){
! if (netconf_rootaccess()){
! groups_del (argv[2]);
! }
}else if (argc == 2 && strcmp(argv[1],"--help")==0){
usage();
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/userconf.h linuxconf-1.16r3.3/userconf/userconf.h
*** linuxconf-1.16r3.2/userconf/userconf.h Thu Sep 9 08:34:10 1999
--- linuxconf-1.16r3.3/userconf/userconf.h Wed Sep 29 14:21:36 1999
***************
*** 271,275 ****
int delbatch (const char *id);
private:
! void docreate (USER *usr,
PRIVILEGE *priv,
const char *group);
--- 271,275 ----
int delbatch (const char *id);
private:
! int docreate (USER *usr,
PRIVILEGE *priv,
const char *group);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/userconf.m linuxconf-1.16r3.3/userconf/userconf.m
*** linuxconf-1.16r3.2/userconf/userconf.m Wed Sep 8 21:41:43 1999
--- linuxconf-1.16r3.3/userconf/userconf.m Wed Sep 29 14:22:30 1999
***************
*** 3,7 ****
#define DICTIONARY_REQUEST \
const char **_dictionary_userconf;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_userconf("userconf",_dictionary_userconf,249,13);\
void dummy_dict_userconf(){}
#endif
--- 3,7 ----
#define DICTIONARY_REQUEST \
const char **_dictionary_userconf;\
! TRANSLATE_SYSTEM_REQ _dictionary_req_userconf("userconf",_dictionary_userconf,251,14);\
void dummy_dict_userconf(){}
#endif
***************
*** 140,264 ****
#define E_IVLDDATE 124
#define E_ROOTPASS 125
! #define E_NONAME 126
! #define M_EALIAS 127
! #define E_SHELLNOTEXEC 128
! #define F_NEWPASSWORD 129
! #define F_PASSCONFIRM 130
! #define T_IDENTIFY 131
! #define I_IDENTIFY 132
! #define E_IVLDUPASS 133
! #define F_ACCOUNT 134
! #define F_CURPASSWORD 135
! #define N_NEWPASSOK 136
! #define I_SERVER 137
! #define E_UPASSROOT 138
! #define E_ACCTLOCKED 139
! #define E_PASSLOCKED 140
! #define E_PASSWAIT 141
! #define E_PICKNEW 142
! #define F_CRONRANGE 143
! #define F_COMMAND 144
! #define F_MONTHS 145
! #define F_ISJANUARY 146
! #define F_ISDECEMBER 147
! #define F_DMONTH 148
! #define F_DWEEK 149
! #define F_ISSUNDAY 150
! #define F_ISSATURDAY 151
! #define F_HOURS 152
! #define F_MINUTES 153
! #define T_CRONENTRY 154
! #define I_CRONENTRY 155
! #define T_JOBS 156
! #define B_TASKS 157
! #define F_3VALUES 158
! #define F_CRONSTEP 159
! #define F_ENABLED 160
! #define P_CRON 161
! #define F_EVERY 162
! #define F_MONTH 163
! #define F_DAYOFMONTH 164
! #define F_DAYOFWEEK 165
! #define F_hOURS 166
! #define F_mINUTES 167
! #define T_BASE 168
! #define T_PARAMS 169
! #define M_NORMAL 170
! #define T_PRIVROOTEQUIV 171
! #define T_PSYSCONTROL 172
! #define T_CHGROOTPASS 173
! #define I_ENTERROOTPASS 174
! #define T_POLICIES 175
! #define E_PASSWDCMD 176
! #define E_UNLOCKPASS 177
! #define H_GROUPS 178
! #define F_USERPREFIX 179
! #define I_USERPREFIX 180
! #define T_USERPREFIX 181
! #define H_USERS 182
! #define T_GDISKQUOTA 183
! #define T_UDEFDISKQUOTA 184
! #define T_DISKQUOTA 185
! #define F_DEFSHELL 186
! #define E_IVLDDEF 187
! #define E_NOSPACE 188
! #define E_IVLDPERIOD 189
! #define E_UEXIST 190
! #define E_UNOTEXIST 191
! #define T_SPCACCTS 192
! #define X_PASSWD 193
! #define X_TASKS 194
! #define F_DEFHOME 195
! #define E_GNOTEXIST 196
! #define F_NEWUSERCMD 197
! #define F_DELETECMD 198
! #define E_NOTDEL 199
! #define I_NOTDEL 200
! #define E_DELANYWAY 201
! #define I_DELANYWAY 202
! #define E_PREDELFAIL 203
! #define F_PRIVGROUP 204
! #define I_PRIVGROUP 205
! #define E_NOGROUP 206
! #define I_CREATEGROUP 207
! #define T_CREATGROUP 208
! #define F_SUPGROUP 209
! #define E_IVLDSUPGROUP 210
! #define F_GECOSPREFIX 211
! #define F_UID_FROM 212
! #define F_UID_TO 213
! #define E_GEXIST 214
! #define F_GROUPOPT 215
! #define F_ARCHIVECMD 216
! #define F_POSTDELCMD 217
! #define I_ARCHACCTDATA 218
! #define I_DELACCTDATA 219
! #define I_LEAVEDATA 220
! #define T_DELACCT 221
! #define I_DELACCT 222
! #define I_ENABLED 223
! #define T_YOURNAME 224
! #define I_YOURNAME 225
! #define E_PASSCHG 226
! #define I_DELETING 227
! #define I_CREATING 228
! #define T_SPCLINKS 229
! #define T_CHGPASS 230
! #define T_EdITUSERS 231
! #define T_HOMEDIRS 232
! #define F_DIFFDIR 233
! #define I_CREATEHOME 234
! #define F_HOMEBASE 235
! #define F_CREATEPERM 236
! #define Q_MISSBASE 237
! #define T_MISSBASE 238
! #define E_IVLDDIR 239
! #define I_USAGE 240
! #define F_DONOTHING 241
! #define F_CHOWNDIR 242
! #define T_FIXHOME 243
! #define F_CHOWNRECUR 244
! #define I_IGNORED 245
! #define T_USERPRIVI 246
! #define T_GENPRIVI 247
! #define T_USERADMPRIVI 248
--- 140,266 ----
#define E_IVLDDATE 124
#define E_ROOTPASS 125
! #define M_EALIAS 126
! #define E_SHELLNOTEXEC 127
! #define F_NEWPASSWORD 128
! #define F_PASSCONFIRM 129
! #define T_IDENTIFY 130
! #define I_IDENTIFY 131
! #define E_IVLDUPASS 132
! #define F_ACCOUNT 133
! #define F_CURPASSWORD 134
! #define N_NEWPASSOK 135
! #define I_SERVER 136
! #define E_UPASSROOT 137
! #define E_ACCTLOCKED 138
! #define E_PASSLOCKED 139
! #define E_PASSWAIT 140
! #define E_PICKNEW 141
! #define F_CRONRANGE 142
! #define F_COMMAND 143
! #define F_MONTHS 144
! #define F_ISJANUARY 145
! #define F_ISDECEMBER 146
! #define F_DMONTH 147
! #define F_DWEEK 148
! #define F_ISSUNDAY 149
! #define F_ISSATURDAY 150
! #define F_HOURS 151
! #define F_MINUTES 152
! #define T_CRONENTRY 153
! #define I_CRONENTRY 154
! #define T_JOBS 155
! #define B_TASKS 156
! #define F_3VALUES 157
! #define F_CRONSTEP 158
! #define F_ENABLED 159
! #define P_CRON 160
! #define F_EVERY 161
! #define F_MONTH 162
! #define F_DAYOFMONTH 163
! #define F_DAYOFWEEK 164
! #define F_hOURS 165
! #define F_mINUTES 166
! #define T_BASE 167
! #define T_PARAMS 168
! #define M_NORMAL 169
! #define T_PRIVROOTEQUIV 170
! #define T_PSYSCONTROL 171
! #define T_CHGROOTPASS 172
! #define I_ENTERROOTPASS 173
! #define T_POLICIES 174
! #define E_PASSWDCMD 175
! #define E_UNLOCKPASS 176
! #define H_GROUPS 177
! #define F_USERPREFIX 178
! #define I_USERPREFIX 179
! #define T_USERPREFIX 180
! #define H_USERS 181
! #define T_GDISKQUOTA 182
! #define T_UDEFDISKQUOTA 183
! #define T_DISKQUOTA 184
! #define F_DEFSHELL 185
! #define E_IVLDDEF 186
! #define E_NOSPACE 187
! #define E_IVLDPERIOD 188
! #define E_UEXIST 189
! #define E_UNOTEXIST 190
! #define T_SPCACCTS 191
! #define X_PASSWD 192
! #define X_TASKS 193
! #define F_DEFHOME 194
! #define E_GNOTEXIST 195
! #define F_NEWUSERCMD 196
! #define F_DELETECMD 197
! #define E_NOTDEL 198
! #define I_NOTDEL 199
! #define E_DELANYWAY 200
! #define I_DELANYWAY 201
! #define E_PREDELFAIL 202
! #define F_PRIVGROUP 203
! #define I_PRIVGROUP 204
! #define E_NOGROUP 205
! #define I_CREATEGROUP 206
! #define T_CREATGROUP 207
! #define F_SUPGROUP 208
! #define E_IVLDSUPGROUP 209
! #define F_GECOSPREFIX 210
! #define F_UID_FROM 211
! #define F_UID_TO 212
! #define E_GEXIST 213
! #define F_GROUPOPT 214
! #define F_ARCHIVECMD 215
! #define F_POSTDELCMD 216
! #define I_ARCHACCTDATA 217
! #define I_DELACCTDATA 218
! #define I_LEAVEDATA 219
! #define T_DELACCT 220
! #define I_DELACCT 221
! #define I_ENABLED 222
! #define T_YOURNAME 223
! #define I_YOURNAME 224
! #define E_PASSCHG 225
! #define I_DELETING 226
! #define I_CREATING 227
! #define T_SPCLINKS 228
! #define T_CHGPASS 229
! #define T_EdITUSERS 230
! #define T_HOMEDIRS 231
! #define F_DIFFDIR 232
! #define I_CREATEHOME 233
! #define F_HOMEBASE 234
! #define F_CREATEPERM 235
! #define Q_MISSBASE 236
! #define T_MISSBASE 237
! #define E_IVLDDIR 238
! #define I_USAGE 239
! #define F_DONOTHING 240
! #define F_CHOWNDIR 241
! #define T_FIXHOME 242
! #define F_CHOWNRECUR 243
! #define I_IGNORED 244
! #define T_USERPRIVI 245
! #define T_GENPRIVI 246
! #define T_USERADMPRIVI 247
! #define T_THISHELP 248
! #define E_IVLDLOGINCHAR 249
! #define E_FAILCREATE 250
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/userconf.p linuxconf-1.16r3.3/userconf/userconf.p
*** linuxconf-1.16r3.2/userconf/userconf.p Wed Sep 8 21:21:09 1999
--- linuxconf-1.16r3.3/userconf/userconf.p Wed Sep 29 14:21:36 1999
***************
*** 17,21 ****
bool group_homeneeded (const char *gname);
int group_getcreateperm (const char *gname);
! /* groups.cc 20/12/1998 14.31.36 */
void groups_edit (void);
int group_getcreate (const char *name, const char *reason);
--- 17,21 ----
bool group_homeneeded (const char *gname);
int group_getcreateperm (const char *gname);
! /* groups.cc 13/09/1999 00.25.58 */
void groups_edit (void);
int group_getcreate (const char *name, const char *reason);
***************
*** 55,59 ****
int perm_checkpriv (PRIVILEGE *priv);
void perm_sethtml (int _mode);
! /* privi.cc 08/09/1999 21.21.06 */
void privilege_setdialog (DIALOG&dia,
const char *user,
--- 55,59 ----
int perm_checkpriv (PRIVILEGE *priv);
void perm_sethtml (int _mode);
! /* privi.cc 10/09/1999 17.16.42 */
void privilege_setdialog (DIALOG&dia,
const char *user,
***************
*** 91,100 ****
void userconf_editupass (USERS&users, const char *server);
void userconf_editupass (void);
! /* user.cc 30/08/1999 13.41.44 */
int user_splitline (const char *line, char words[9][100]);
bool user_isadmin (const char *loginid);
int pass_isweak (const char *pass);
/* user1.cc 10/05/1999 23.12.24 */
! /* usercomng.cc 08/10/1998 11.34.40 */
/* userconf.cc 10/05/1999 23.46.24 */
const char *userconf_getprivsection (void);
--- 91,100 ----
void userconf_editupass (USERS&users, const char *server);
void userconf_editupass (void);
! /* user.cc 23/09/1999 22.48.30 */
int user_splitline (const char *line, char words[9][100]);
bool user_isadmin (const char *loginid);
int pass_isweak (const char *pass);
/* user1.cc 10/05/1999 23.12.24 */
! /* usercomng.cc 10/09/1999 17.10.30 */
/* userconf.cc 10/05/1999 23.46.24 */
const char *userconf_getprivsection (void);
***************
*** 104,108 ****
int userconf_main (int argc, char *argv[]);
void userconf_listspc (void);
! /* users.cc 30/08/1999 13.42.48 */
void users_sethook (int (*_user_fct_del)(USER *, SHADOW *),
int (*_user_fct_add)(USER *, SHADOW *, bool),
--- 104,108 ----
int userconf_main (int argc, char *argv[]);
void userconf_listspc (void);
! /* users.cc 29/09/1999 14.21.20 */
void users_sethook (int (*_user_fct_del)(USER *, SHADOW *),
int (*_user_fct_add)(USER *, SHADOW *, bool),
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/userconf.pm linuxconf-1.16r3.3/userconf/userconf.pm
*** linuxconf-1.16r3.2/userconf/userconf.pm Wed Sep 8 21:21:09 1999
--- linuxconf-1.16r3.3/userconf/userconf.pm Wed Sep 29 14:21:36 1999
***************
*** 41,45 ****
PUBLIC void GROUP::addmember (const char *user);
PUBLIC bool GROUP::is_member (const char *user);
! /* groups.cc 20/12/1998 14.31.36 */
PUBLIC GROUPS::GROUPS (void);
PRIVATE GROUPS::GROUPS (GROUPS *groups);
--- 41,45 ----
PUBLIC void GROUP::addmember (const char *user);
PUBLIC bool GROUP::is_member (const char *user);
! /* groups.cc 13/09/1999 00.25.58 */
PUBLIC GROUPS::GROUPS (void);
PRIVATE GROUPS::GROUPS (GROUPS *groups);
***************
*** 76,80 ****
PUBLIC void PASSWD_VALID::edit (void);
/* perm.cc 19/04/1999 10.51.50 */
! /* privi.cc 08/09/1999 21.21.06 */
PUBLIC PRIVILEGE::PRIVILEGE (const char *_id,
TRANS_NOTLOAD *_title,
--- 76,80 ----
PUBLIC void PASSWD_VALID::edit (void);
/* perm.cc 19/04/1999 10.51.50 */
! /* privi.cc 10/09/1999 17.16.42 */
PUBLIC PRIVILEGE::PRIVILEGE (const char *_id,
TRANS_NOTLOAD *_title,
***************
*** 139,143 ****
/* special.cc 09/12/1996 16.22.12 */
/* upass.cc 28/07/1999 17.41.46 */
! /* user.cc 30/08/1999 13.41.44 */
PUBLIC bool USER::statuschanged (bool&active);
PRIVATE void USER::init (const char *_name,
--- 139,143 ----
/* special.cc 09/12/1996 16.22.12 */
/* upass.cc 28/07/1999 17.41.46 */
! /* user.cc 23/09/1999 22.48.30 */
PUBLIC bool USER::statuschanged (bool&active);
PRIVATE void USER::init (const char *_name,
***************
*** 211,215 ****
PUBLIC bool USER::is_like (const USER *other)const;
PUBLIC void USER::setlike (const USER *other);
! /* usercomng.cc 08/10/1998 11.34.40 */
PUBLIC USERACCT_COMNG::USERACCT_COMNG (DICTIONARY&_dict);
PUBLIC VIRTUAL void USERACCT_COMNG::setupdia (DIALOG&dia);
--- 211,215 ----
PUBLIC bool USER::is_like (const USER *other)const;
PUBLIC void USER::setlike (const USER *other);
! /* usercomng.cc 10/09/1999 17.10.30 */
PUBLIC USERACCT_COMNG::USERACCT_COMNG (DICTIONARY&_dict);
PUBLIC VIRTUAL void USERACCT_COMNG::setupdia (DIALOG&dia);
***************
*** 239,243 ****
PUBLIC bool USERACCT_COMNGS::get_bool (const char *var)const;
/* userconf.cc 10/05/1999 23.46.24 */
! /* users.cc 30/08/1999 13.42.48 */
PRIVATE void USERS::readusers (void);
PUBLIC USERS::USERS (void);
--- 239,243 ----
PUBLIC bool USERACCT_COMNGS::get_bool (const char *var)const;
/* userconf.cc 10/05/1999 23.46.24 */
! /* users.cc 29/09/1999 14.21.20 */
PRIVATE void USERS::readusers (void);
PUBLIC USERS::USERS (void);
***************
*** 291,295 ****
USER *usr,
const char *group);
! PRIVATE void USERS::docreate (USER *usr,
PRIVILEGE *priv,
const char *group);
--- 291,295 ----
USER *usr,
const char *group);
! PRIVATE int USERS::docreate (USER *usr,
PRIVILEGE *priv,
const char *group);
diff -rc2P -x *.o -x *.a -x *.bak -x *~ -x *.help -x *.old -x *.nap -x *.nar -x *.nas -x *.gif -x *.class linuxconf-1.16r3.2/userconf/users.cc linuxconf-1.16r3.3/userconf/users.cc
*** linuxconf-1.16r3.2/userconf/users.cc Mon Sep 13 00:20:19 1999
--- linuxconf-1.16r3.3/userconf/users.cc Sun Oct 3 22:44:25 1999
***************
*** 592,596 ****
bool createdir = group_homeneeded(group);
ret = (*user_fct_add)(usr,getshadow(usr),createdir);
! if (ret != -1 && createdir){
chmod (usr->wrkdir.get(),group_getcreateperm(group));
}
--- 592,598 ----
bool createdir = group_homeneeded(group);
ret = (*user_fct_add)(usr,getshadow(usr),createdir);
! if (ret == -1){
! xconf_error (MSG_U(E_FAILCREATE,"Can't create user account"));
! }else if(createdir){
chmod (usr->wrkdir.get(),group_getcreateperm(group));
}
***************
*** 599,603 ****
}
! PRIVATE void USERS::docreate (USER *usr, PRIVILEGE *priv, const char *group)
{
net_introlog (NETINTRO_CREATEUSER);
--- 601,605 ----
}
! PRIVATE int USERS::docreate (USER *usr, PRIVILEGE *priv, const char *group)
{
net_introlog (NETINTRO_CREATEUSER);
***************
*** 606,610 ****
,usr->getname(),usr->getgecos());
add (usr);
! override_add(priv,usr,group);
}
--- 608,612 ----
,usr->getname(),usr->getgecos());
add (usr);
! return override_add(priv,usr,group);
}
***************
*** 649,654 ****
if (code == 0){
if (is_new){
! docreate(usr,priv,group);
! if (usr->enabled){
char info[100];
snprintf (info,sizeof(info)-1,"password:%s"
--- 651,656 ----
if (code == 0){
if (is_new){
! if (docreate(usr,priv,group) != -1
! && usr->enabled){
char info[100];
snprintf (info,sizeof(info)-1,"password:%s"
***************
*** 1009,1015 ****
u->update_passwd (NULL,shadow,true,domain.get());
if (u->sethome (NULL,group,false,*this) != -1){
! docreate (u,NULL,group);
! if (write (NULL) != -1){
! quota_applyone (id);
runcreatecmd (u,group);
ret = 0;
--- 1011,1017 ----
u->update_passwd (NULL,shadow,true,domain.get());
if (u->sethome (NULL,group,false,*this) != -1){
! if (docreate (u,NULL,group) != -1
! && write (NULL) != -1){
! if (domain.cmp("/")==0) quota_applyone (id);
runcreatecmd (u,group);
ret = 0;
***************
*** 1036,1040 ****
remove_del (u);
ret = writeif(NULL);
! if (ret != -1){
QUOTA_EDIT qedit (id,QUOTA_USER);
qedit.deluser(NULL);
--- 1038,1042 ----
remove_del (u);
ret = writeif(NULL);
! if (ret != -1 && domain.cmp("/")==0){
QUOTA_EDIT qedit (id,QUOTA_USER);
qedit.deluser(NULL);