nightmaremail

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

hier.c (15131B)


      1 #include "hier.h"
      2 
      3 #include <sys/types.h>
      4 #include "auto_qmail.h"
      5 #include "auto_split.h"
      6 #include "auto_uids.h"
      7 #include "fmt.h"
      8 #include "fifo.h"
      9 
     10 char buf[100 + FMT_ULONG];
     11 
     12 void dsplit(char *base, /* must be under 100 bytes */
     13             uid_t uid, int mode)
     14 {
     15   char *x;
     16   unsigned long i;
     17 
     18   d(auto_qmail,base,uid,auto_gidq,mode);
     19 
     20   for (i = 0;i < auto_split;++i) {
     21     x = buf;
     22     x += fmt_str(x,base);
     23     x += fmt_str(x,"/");
     24     x += fmt_ulong(x,i);
     25     *x = 0;
     26 
     27     d(auto_qmail,buf,uid,auto_gidq,mode);
     28   }
     29 }
     30 
     31 void hier_queue()
     32 {
     33   d(auto_qmail,"queue",auto_uidq,auto_gidq,0750);
     34   d(auto_qmail,"queue/pid",auto_uidq,auto_gidq,0700);
     35   d(auto_qmail,"queue/intd",auto_uidq,auto_gidq,0700);
     36   d(auto_qmail,"queue/todo",auto_uidq,auto_gidq,0750);
     37   d(auto_qmail,"queue/bounce",auto_uids,auto_gidq,0700);
     38 
     39   dsplit("queue/mess",auto_uidq,0750);
     40   dsplit("queue/info",auto_uids,0700);
     41   dsplit("queue/local",auto_uids,0700);
     42   dsplit("queue/remote",auto_uids,0700);
     43 
     44   d(auto_qmail,"queue/lock",auto_uidq,auto_gidq,0750);
     45   z(auto_qmail,"queue/lock/tcpto",1024,auto_uidr,auto_gidq,0644);
     46   z(auto_qmail,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
     47   p(auto_qmail,"queue/lock/trigger",auto_uids,auto_gidq,0622);
     48 }
     49 
     50 void hier()
     51 {
     52   h(auto_qmail,auto_uido,auto_gidq,0755);
     53 
     54   d(auto_qmail,"control",auto_uido,auto_gidq,0755);
     55   d(auto_qmail,"users",auto_uido,auto_gidq,0755);
     56   d(auto_qmail,"bin",auto_uido,auto_gidq,0755);
     57   d(auto_qmail,"boot",auto_uido,auto_gidq,0755);
     58   d(auto_qmail,"doc",auto_uido,auto_gidq,0755);
     59   d(auto_qmail,"man",auto_uido,auto_gidq,0755);
     60   d(auto_qmail,"man/cat1",auto_uido,auto_gidq,0755);
     61   d(auto_qmail,"man/cat5",auto_uido,auto_gidq,0755);
     62   d(auto_qmail,"man/cat7",auto_uido,auto_gidq,0755);
     63   d(auto_qmail,"man/cat8",auto_uido,auto_gidq,0755);
     64   d(auto_qmail,"man/man1",auto_uido,auto_gidq,0755);
     65   d(auto_qmail,"man/man5",auto_uido,auto_gidq,0755);
     66   d(auto_qmail,"man/man7",auto_uido,auto_gidq,0755);
     67   d(auto_qmail,"man/man8",auto_uido,auto_gidq,0755);
     68 
     69   d(auto_qmail,"alias",auto_uida,auto_gidq,02755);
     70 
     71   hier_queue();
     72 
     73   c(auto_qmail,"boot",".","home",auto_uido,auto_gidq,0755);
     74   c(auto_qmail,"boot",".","home+df",auto_uido,auto_gidq,0755);
     75   c(auto_qmail,"boot",".","proc",auto_uido,auto_gidq,0755);
     76   c(auto_qmail,"boot",".","proc+df",auto_uido,auto_gidq,0755);
     77   c(auto_qmail,"boot",".","binm1",auto_uido,auto_gidq,0755);
     78   c(auto_qmail,"boot",".","binm1+df",auto_uido,auto_gidq,0755);
     79   c(auto_qmail,"boot",".","binm2",auto_uido,auto_gidq,0755);
     80   c(auto_qmail,"boot",".","binm2+df",auto_uido,auto_gidq,0755);
     81   c(auto_qmail,"boot",".","binm3",auto_uido,auto_gidq,0755);
     82   c(auto_qmail,"boot",".","binm3+df",auto_uido,auto_gidq,0755);
     83 
     84   c(auto_qmail,"doc","doc","FAQ.md",auto_uido,auto_gidq,0644);
     85   c(auto_qmail,"doc","doc","UPGRADE.md",auto_uido,auto_gidq,0644);
     86   c(auto_qmail,"doc","doc","SENDMAIL.md",auto_uido,auto_gidq,0644);
     87   c(auto_qmail,"doc","doc","INSTALL.md",auto_uido,auto_gidq,0644);
     88   c(auto_qmail,"doc","doc","INSTALL.alias.md",auto_uido,auto_gidq,0644);
     89   c(auto_qmail,"doc","doc","INSTALL.ctl.md",auto_uido,auto_gidq,0644);
     90   c(auto_qmail,"doc","doc","INSTALL.ids.md",auto_uido,auto_gidq,0644);
     91   c(auto_qmail,"doc","doc","INSTALL.maildir.md",auto_uido,auto_gidq,0644);
     92   c(auto_qmail,"doc","doc","INSTALL.mbox.md",auto_uido,auto_gidq,0644);
     93   c(auto_qmail,"doc","doc","INSTALL.vsm.md",auto_uido,auto_gidq,0644);
     94   c(auto_qmail,"doc","doc","TEST.deliver.md",auto_uido,auto_gidq,0644);
     95   c(auto_qmail,"doc","doc","TEST.receive.md",auto_uido,auto_gidq,0644);
     96   c(auto_qmail,"doc","doc","REMOVE.sendmail.md",auto_uido,auto_gidq,0644);
     97   c(auto_qmail,"doc","doc","REMOVE.binmail.md",auto_uido,auto_gidq,0644);
     98   c(auto_qmail,"doc","doc","PIC.local2alias",auto_uido,auto_gidq,0644);
     99   c(auto_qmail,"doc","doc","PIC.local2ext",auto_uido,auto_gidq,0644);
    100   c(auto_qmail,"doc","doc","PIC.local2local",auto_uido,auto_gidq,0644);
    101   c(auto_qmail,"doc","doc","PIC.local2rem",auto_uido,auto_gidq,0644);
    102   c(auto_qmail,"doc","doc","PIC.local2virt",auto_uido,auto_gidq,0644);
    103   c(auto_qmail,"doc","doc","PIC.nullclient",auto_uido,auto_gidq,0644);
    104   c(auto_qmail,"doc","doc","PIC.relaybad",auto_uido,auto_gidq,0644);
    105   c(auto_qmail,"doc","doc","PIC.relaygood",auto_uido,auto_gidq,0644);
    106   c(auto_qmail,"doc","doc","PIC.rem2local",auto_uido,auto_gidq,0644);
    107 
    108   c(auto_qmail,"bin",/*"src"*/".","qmail-queue",auto_uidq,auto_gidq,04711);
    109   c(auto_qmail,"bin",/*"src"*/".","qmail-lspawn",auto_uido,auto_gidq,0700);
    110   c(auto_qmail,"bin",/*"src"*/".","qmail-start",auto_uido,auto_gidq,0700);
    111   c(auto_qmail,"bin",/*"src"*/".","qmail-getpw",auto_uido,auto_gidq,0711);
    112   c(auto_qmail,"bin",/*"src"*/".","qmail-local",auto_uido,auto_gidq,0711);
    113   c(auto_qmail,"bin",/*"src"*/".","qmail-remote",auto_uido,auto_gidq,0711);
    114   c(auto_qmail,"bin",/*"src"*/".","qmail-rspawn",auto_uido,auto_gidq,0711);
    115   c(auto_qmail,"bin",/*"src"*/".","qmail-clean",auto_uido,auto_gidq,0711);
    116   c(auto_qmail,"bin",/*"src"*/".","qmail-send",auto_uido,auto_gidq,0711);
    117   c(auto_qmail,"bin",/*"src"*/".","splogger",auto_uido,auto_gidq,0711);
    118   c(auto_qmail,"bin",/*"src"*/".","qmail-newu",auto_uido,auto_gidq,0700);
    119   c(auto_qmail,"bin",/*"src"*/".","qmail-newmrh",auto_uido,auto_gidq,0700);
    120   c(auto_qmail,"bin",/*"src"*/".","qmail-pw2u",auto_uido,auto_gidq,0711);
    121   c(auto_qmail,"bin",/*"src"*/".","qmail-inject",auto_uido,auto_gidq,0755);
    122   c(auto_qmail,"bin",/*"src"*/".","predate",auto_uido,auto_gidq,0755);
    123   c(auto_qmail,"bin",/*"src"*/".","datemail",auto_uido,auto_gidq,0755);
    124   c(auto_qmail,"bin",/*"src"*/".","mailsubj",auto_uido,auto_gidq,0755);
    125   c(auto_qmail,"bin",/*"src"*/".","qmail-showctl",auto_uido,auto_gidq,0755);
    126   c(auto_qmail,"bin",/*"src"*/".","qmail-qread",auto_uido,auto_gidq,0755);
    127   c(auto_qmail,"bin",/*"src"*/".","qmail-qstat",auto_uido,auto_gidq,0755);
    128   c(auto_qmail,"bin",/*"src"*/".","qmail-tcpto",auto_uido,auto_gidq,0755);
    129   c(auto_qmail,"bin",/*"src"*/".","qmail-tcpok",auto_uido,auto_gidq,0755);
    130   c(auto_qmail,"bin",/*"src"*/".","qmail-pop3d",auto_uido,auto_gidq,0755);
    131   c(auto_qmail,"bin",/*"src"*/".","qmail-popup",auto_uido,auto_gidq,0711);
    132   c(auto_qmail,"bin",/*"src"*/".","qmail-qmqpc",auto_uido,auto_gidq,0755);
    133   c(auto_qmail,"bin",/*"src"*/".","qmail-qmqpd",auto_uido,auto_gidq,0755);
    134   c(auto_qmail,"bin",/*"src"*/".","qmail-qmtpd",auto_uido,auto_gidq,0755);
    135   c(auto_qmail,"bin",/*"src"*/".","qmail-smtpd",auto_uido,auto_gidq,0755);
    136   c(auto_qmail,"bin",/*"src"*/".","nmail-smtpd",auto_uido,auto_gidq,0755); // the alternative SMTPD
    137   c(auto_qmail,"bin",/*"src"*/".","sendmail",auto_uido,auto_gidq,0755);
    138   c(auto_qmail,"bin",/*"src"*/".","tcp-env",auto_uido,auto_gidq,0755);
    139   c(auto_qmail,"bin",/*"src"*/".","qreceipt",auto_uido,auto_gidq,0755);
    140   c(auto_qmail,"bin",/*"src"*/".","qbiff",auto_uido,auto_gidq,0755);
    141   c(auto_qmail,"bin",/*"src"*/".","forward",auto_uido,auto_gidq,0755);
    142   c(auto_qmail,"bin",/*"src"*/".","preline",auto_uido,auto_gidq,0755);
    143   c(auto_qmail,"bin",/*"src"*/".","condredirect",auto_uido,auto_gidq,0755);
    144   c(auto_qmail,"bin",/*"src"*/".","bouncesaying",auto_uido,auto_gidq,0755);
    145   c(auto_qmail,"bin",/*"src"*/".","except",auto_uido,auto_gidq,0755);
    146   c(auto_qmail,"bin",/*"src"*/".","maildirmake",auto_uido,auto_gidq,0755);
    147   c(auto_qmail,"bin",/*"src"*/".","maildir2mbox",auto_uido,auto_gidq,0755);
    148 
    149   c(auto_qmail,"man/man5","doc/man","addresses.5",auto_uido,auto_gidq,0644);
    150   c(auto_qmail,"man/cat5","doc/man","addresses.0",auto_uido,auto_gidq,0644);
    151   c(auto_qmail,"man/man5","doc/man","envelopes.5",auto_uido,auto_gidq,0644);
    152   c(auto_qmail,"man/cat5","doc/man","envelopes.0",auto_uido,auto_gidq,0644);
    153   c(auto_qmail,"man/man5","doc/man","maildir.5",auto_uido,auto_gidq,0644);
    154   c(auto_qmail,"man/cat5","doc/man","maildir.0",auto_uido,auto_gidq,0644);
    155   c(auto_qmail,"man/man5","doc/man","mbox.5",auto_uido,auto_gidq,0644);
    156   c(auto_qmail,"man/cat5","doc/man","mbox.0",auto_uido,auto_gidq,0644);
    157   c(auto_qmail,"man/man5","doc/man","dot-qmail.5",auto_uido,auto_gidq,0644);
    158   c(auto_qmail,"man/cat5","doc/man","dot-qmail.0",auto_uido,auto_gidq,0644);
    159   c(auto_qmail,"man/man5","doc/man","qmail-control.5",auto_uido,auto_gidq,0644);
    160   c(auto_qmail,"man/cat5","doc/man","qmail-control.0",auto_uido,auto_gidq,0644);
    161   c(auto_qmail,"man/man5","doc/man","qmail-header.5",auto_uido,auto_gidq,0644);
    162   c(auto_qmail,"man/cat5","doc/man","qmail-header.0",auto_uido,auto_gidq,0644);
    163   c(auto_qmail,"man/man5","doc/man","qmail-log.5",auto_uido,auto_gidq,0644);
    164   c(auto_qmail,"man/cat5","doc/man","qmail-log.0",auto_uido,auto_gidq,0644);
    165   c(auto_qmail,"man/man5","doc/man","qmail-users.5",auto_uido,auto_gidq,0644);
    166   c(auto_qmail,"man/cat5","doc/man","qmail-users.0",auto_uido,auto_gidq,0644);
    167   c(auto_qmail,"man/man5","doc/man","tcp-environ.5",auto_uido,auto_gidq,0644);
    168   c(auto_qmail,"man/cat5","doc/man","tcp-environ.0",auto_uido,auto_gidq,0644);
    169 
    170   c(auto_qmail,"man/man7","doc/man","forgeries.7",auto_uido,auto_gidq,0644);
    171   c(auto_qmail,"man/cat7","doc/man","forgeries.0",auto_uido,auto_gidq,0644);
    172   c(auto_qmail,"man/man7","doc/man","qmail-limits.7",auto_uido,auto_gidq,0644);
    173   c(auto_qmail,"man/cat7","doc/man","qmail-limits.0",auto_uido,auto_gidq,0644);
    174   c(auto_qmail,"man/man7","doc/man","qmail.7",auto_uido,auto_gidq,0644);
    175   c(auto_qmail,"man/cat7","doc/man","qmail.0",auto_uido,auto_gidq,0644);
    176 
    177   c(auto_qmail,"man/man1","doc/man","forward.1",auto_uido,auto_gidq,0644);
    178   c(auto_qmail,"man/cat1","doc/man","forward.0",auto_uido,auto_gidq,0644);
    179   c(auto_qmail,"man/man1","doc/man","condredirect.1",auto_uido,auto_gidq,0644);
    180   c(auto_qmail,"man/cat1","doc/man","condredirect.0",auto_uido,auto_gidq,0644);
    181   c(auto_qmail,"man/man1","doc/man","bouncesaying.1",auto_uido,auto_gidq,0644);
    182   c(auto_qmail,"man/cat1","doc/man","bouncesaying.0",auto_uido,auto_gidq,0644);
    183   c(auto_qmail,"man/man1","doc/man","except.1",auto_uido,auto_gidq,0644);
    184   c(auto_qmail,"man/cat1","doc/man","except.0",auto_uido,auto_gidq,0644);
    185   c(auto_qmail,"man/man1","doc/man","maildirmake.1",auto_uido,auto_gidq,0644);
    186   c(auto_qmail,"man/cat1","doc/man","maildirmake.0",auto_uido,auto_gidq,0644);
    187   c(auto_qmail,"man/man1","doc/man","maildir2mbox.1",auto_uido,auto_gidq,0644);
    188   c(auto_qmail,"man/cat1","doc/man","maildir2mbox.0",auto_uido,auto_gidq,0644);
    189   c(auto_qmail,"man/man1","doc/man","mailsubj.1",auto_uido,auto_gidq,0644);
    190   c(auto_qmail,"man/cat1","doc/man","mailsubj.0",auto_uido,auto_gidq,0644);
    191   c(auto_qmail,"man/man1","doc/man","qreceipt.1",auto_uido,auto_gidq,0644);
    192   c(auto_qmail,"man/cat1","doc/man","qreceipt.0",auto_uido,auto_gidq,0644);
    193   c(auto_qmail,"man/man1","doc/man","qbiff.1",auto_uido,auto_gidq,0644);
    194   c(auto_qmail,"man/cat1","doc/man","qbiff.0",auto_uido,auto_gidq,0644);
    195   c(auto_qmail,"man/man1","doc/man","preline.1",auto_uido,auto_gidq,0644);
    196   c(auto_qmail,"man/cat1","doc/man","preline.0",auto_uido,auto_gidq,0644);
    197   c(auto_qmail,"man/man1","doc/man","tcp-env.1",auto_uido,auto_gidq,0644);
    198   c(auto_qmail,"man/cat1","doc/man","tcp-env.0",auto_uido,auto_gidq,0644);
    199 
    200   c(auto_qmail,"man/man8","doc/man","qmail-local.8",auto_uido,auto_gidq,0644);
    201   c(auto_qmail,"man/cat8","doc/man","qmail-local.0",auto_uido,auto_gidq,0644);
    202   c(auto_qmail,"man/man8","doc/man","qmail-lspawn.8",auto_uido,auto_gidq,0644);
    203   c(auto_qmail,"man/cat8","doc/man","qmail-lspawn.0",auto_uido,auto_gidq,0644);
    204   c(auto_qmail,"man/man8","doc/man","qmail-getpw.8",auto_uido,auto_gidq,0644);
    205   c(auto_qmail,"man/cat8","doc/man","qmail-getpw.0",auto_uido,auto_gidq,0644);
    206   c(auto_qmail,"man/man8","doc/man","qmail-remote.8",auto_uido,auto_gidq,0644);
    207   c(auto_qmail,"man/cat8","doc/man","qmail-remote.0",auto_uido,auto_gidq,0644);
    208   c(auto_qmail,"man/man8","doc/man","qmail-rspawn.8",auto_uido,auto_gidq,0644);
    209   c(auto_qmail,"man/cat8","doc/man","qmail-rspawn.0",auto_uido,auto_gidq,0644);
    210   c(auto_qmail,"man/man8","doc/man","qmail-clean.8",auto_uido,auto_gidq,0644);
    211   c(auto_qmail,"man/cat8","doc/man","qmail-clean.0",auto_uido,auto_gidq,0644);
    212   c(auto_qmail,"man/man8","doc/man","qmail-send.8",auto_uido,auto_gidq,0644);
    213   c(auto_qmail,"man/cat8","doc/man","qmail-send.0",auto_uido,auto_gidq,0644);
    214   c(auto_qmail,"man/man8","doc/man","qmail-start.8",auto_uido,auto_gidq,0644);
    215   c(auto_qmail,"man/cat8","doc/man","qmail-start.0",auto_uido,auto_gidq,0644);
    216   c(auto_qmail,"man/man8","doc/man","splogger.8",auto_uido,auto_gidq,0644);
    217   c(auto_qmail,"man/cat8","doc/man","splogger.0",auto_uido,auto_gidq,0644);
    218   c(auto_qmail,"man/man8","doc/man","qmail-queue.8",auto_uido,auto_gidq,0644);
    219   c(auto_qmail,"man/cat8","doc/man","qmail-queue.0",auto_uido,auto_gidq,0644);
    220   c(auto_qmail,"man/man8","doc/man","qmail-inject.8",auto_uido,auto_gidq,0644);
    221   c(auto_qmail,"man/cat8","doc/man","qmail-inject.0",auto_uido,auto_gidq,0644);
    222   c(auto_qmail,"man/man8","doc/man","qmail-showctl.8",auto_uido,auto_gidq,0644);
    223   c(auto_qmail,"man/cat8","doc/man","qmail-showctl.0",auto_uido,auto_gidq,0644);
    224   c(auto_qmail,"man/man8","doc/man","qmail-newmrh.8",auto_uido,auto_gidq,0644);
    225   c(auto_qmail,"man/cat8","doc/man","qmail-newmrh.0",auto_uido,auto_gidq,0644);
    226   c(auto_qmail,"man/man8","doc/man","qmail-newu.8",auto_uido,auto_gidq,0644);
    227   c(auto_qmail,"man/cat8","doc/man","qmail-newu.0",auto_uido,auto_gidq,0644);
    228   c(auto_qmail,"man/man8","doc/man","qmail-pw2u.8",auto_uido,auto_gidq,0644);
    229   c(auto_qmail,"man/cat8","doc/man","qmail-pw2u.0",auto_uido,auto_gidq,0644);
    230   c(auto_qmail,"man/man8","doc/man","qmail-qread.8",auto_uido,auto_gidq,0644);
    231   c(auto_qmail,"man/cat8","doc/man","qmail-qread.0",auto_uido,auto_gidq,0644);
    232   c(auto_qmail,"man/man8","doc/man","qmail-qstat.8",auto_uido,auto_gidq,0644);
    233   c(auto_qmail,"man/cat8","doc/man","qmail-qstat.0",auto_uido,auto_gidq,0644);
    234   c(auto_qmail,"man/man8","doc/man","qmail-tcpok.8",auto_uido,auto_gidq,0644);
    235   c(auto_qmail,"man/cat8","doc/man","qmail-tcpok.0",auto_uido,auto_gidq,0644);
    236   c(auto_qmail,"man/man8","doc/man","qmail-tcpto.8",auto_uido,auto_gidq,0644);
    237   c(auto_qmail,"man/cat8","doc/man","qmail-tcpto.0",auto_uido,auto_gidq,0644);
    238   c(auto_qmail,"man/man8","doc/man","qmail-pop3d.8",auto_uido,auto_gidq,0644);
    239   c(auto_qmail,"man/cat8","doc/man","qmail-pop3d.0",auto_uido,auto_gidq,0644);
    240   c(auto_qmail,"man/man8","doc/man","qmail-popup.8",auto_uido,auto_gidq,0644);
    241   c(auto_qmail,"man/cat8","doc/man","qmail-popup.0",auto_uido,auto_gidq,0644);
    242   c(auto_qmail,"man/man8","doc/man","qmail-qmqpc.8",auto_uido,auto_gidq,0644);
    243   c(auto_qmail,"man/cat8","doc/man","qmail-qmqpc.0",auto_uido,auto_gidq,0644);
    244   c(auto_qmail,"man/man8","doc/man","qmail-qmqpd.8",auto_uido,auto_gidq,0644);
    245   c(auto_qmail,"man/cat8","doc/man","qmail-qmqpd.0",auto_uido,auto_gidq,0644);
    246   c(auto_qmail,"man/man8","doc/man","qmail-qmtpd.8",auto_uido,auto_gidq,0644);
    247   c(auto_qmail,"man/cat8","doc/man","qmail-qmtpd.0",auto_uido,auto_gidq,0644);
    248   c(auto_qmail,"man/man8","doc/man","qmail-smtpd.8",auto_uido,auto_gidq,0644);
    249   c(auto_qmail,"man/cat8","doc/man","qmail-smtpd.0",auto_uido,auto_gidq,0644);
    250   c(auto_qmail,"man/man8","doc/man","qmail-command.8",auto_uido,auto_gidq,0644);
    251   c(auto_qmail,"man/cat8","doc/man","qmail-command.0",auto_uido,auto_gidq,0644);
    252 }