| @@ -45,7 +45,7 @@ https://e2li.org -> menu : Projet Prosecco. | |||||
| #include <arpa/inet.h> | #include <arpa/inet.h> | ||||
| #include <pthread.h> | #include <pthread.h> | ||||
| #define Version "1.03" | |||||
| #define Version "1.04" | |||||
| #define F_GETPIPE_SZ 1032 | #define F_GETPIPE_SZ 1032 | ||||
| #define F_SETPIPE_SZ 1031 | #define F_SETPIPE_SZ 1031 | ||||
| @@ -336,7 +336,7 @@ int t,v; | |||||
| if (t==0) return 1; | if (t==0) return 1; | ||||
| if ((v=isCidr(w)) > 0) { /* test si CIDR */ | if ((v=isCidr(w)) > 0) { /* test si CIDR */ | ||||
| addCidr(w); | addCidr(w); | ||||
| NbAddCidrs += (int)(1<<(32-v)); | |||||
| NbAddCidrs += (int)(1<<v); | |||||
| return 1; | return 1; | ||||
| } | } | ||||
| if ((v=isCidr6(w)) > 0) { /* test si CIDR6 */ | if ((v=isCidr6(w)) > 0) { /* test si CIDR6 */ | ||||
| @@ -472,12 +472,15 @@ int i,n=0; | |||||
| #define EX_NOOUT 1 | #define EX_NOOUT 1 | ||||
| #define EX_NOERR 2 | #define EX_NOERR 2 | ||||
| #define EX_DUREE 4 | |||||
| #define EX_SILENT EX_NOOUT|EX_NOERR | #define EX_SILENT EX_NOOUT|EX_NOERR | ||||
| int comsh(char *com,int mode) | int comsh(char *com,int mode) | ||||
| { | { | ||||
| pid_t pid; | pid_t pid; | ||||
| int ret; | |||||
| int ret,i=0; | |||||
| char *c="|/-\\"; | |||||
| if (mode & EX_DUREE) { printf(" ...\r"); fflush(stdout); } | |||||
| if ((pid = fork()) < 0) { | if ((pid = fork()) < 0) { | ||||
| perror("fork2"); return 99; | perror("fork2"); return 99; | ||||
| } | } | ||||
| @@ -489,7 +492,14 @@ int ret; | |||||
| execl("/bin/sh", "sh", "-c", com, (char *) 0); | execl("/bin/sh", "sh", "-c", com, (char *) 0); | ||||
| perror("execl2"); return 98; | perror("execl2"); return 98; | ||||
| } | } | ||||
| waitpid(pid,&ret,0); | |||||
| if (mode & EX_DUREE) { | |||||
| while (waitpid(pid,&ret,WNOHANG) != pid) { | |||||
| sleep(1); | |||||
| printf("%c\r",c[i++]); | |||||
| fflush(stdout); | |||||
| if (i==4) i=0; | |||||
| } | |||||
| } else waitpid(pid,&ret,0); | |||||
| return WEXITSTATUS(ret); | return WEXITSTATUS(ret); | ||||
| } | } | ||||
| @@ -670,11 +680,6 @@ int n; | |||||
| } | } | ||||
| } | } | ||||
| void pr_encours(void) | |||||
| { | |||||
| printf(" ...\r"); fflush(stdout); | |||||
| } | |||||
| #define SUNIC "|sort|uniq" | #define SUNIC "|sort|uniq" | ||||
| #define JCTLSYS "journalctl --system" | #define JCTLSYS "journalctl --system" | ||||
| #define JCTLSYSG JCTLSYS"|grep " | #define JCTLSYSG JCTLSYS"|grep " | ||||
| @@ -845,14 +850,12 @@ pid_t pid; | |||||
| case 'r' : | case 'r' : | ||||
| if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | ||||
| sprintf(com,"%s -L %s|grep %s%s%s",IPT,OUTP,DREJ,AWK5,SUNIC); | sprintf(com,"%s -L %s|grep %s%s%s",IPT,OUTP,DREJ,AWK5,SUNIC); | ||||
| pr_encours(); | |||||
| comsh(com,EX_NOERR); | |||||
| comsh(com,EX_NOERR|EX_DUREE); | |||||
| break; | break; | ||||
| case 'R' : | case 'R' : | ||||
| if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | ||||
| sprintf(com,"%s -L|grep %s%s%s",IP6T,DREJ,AWK4,SUNIC); | sprintf(com,"%s -L|grep %s%s%s",IP6T,DREJ,AWK4,SUNIC); | ||||
| pr_encours(); | |||||
| comsh(com,EX_NOERR); | |||||
| comsh(com,EX_NOERR|EX_DUREE); | |||||
| break; | break; | ||||
| case 'N' : | case 'N' : | ||||
| if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | ||||
| @@ -871,8 +874,7 @@ pid_t pid; | |||||
| case 'v' : | case 'v' : | ||||
| if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); | ||||
| sprintf(com,"%s -L %s|grep %s%s%s",IPT,MYCH,DACC,AWK5,SUNIC); | sprintf(com,"%s -L %s|grep %s%s%s",IPT,MYCH,DACC,AWK5,SUNIC); | ||||
| pr_encours(); | |||||
| comsh(com,EX_NOERR); | |||||
| comsh(com,EX_NOERR|EX_DUREE); | |||||
| break; | break; | ||||
| case ' ' : | case ' ' : | ||||
| if (*(cmd+1) != '\0') comsh(cmd+1,0); | if (*(cmd+1) != '\0') comsh(cmd+1,0); | ||||