Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Break out SMTP faults as a separate category on the Error Log. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
2d3ace5a9fb4de5cd37ce2fdff0012cb |
User & Date: | drh 2025-04-16 00:58:19.548 |
Context
2025-04-16
| ||
10:20 | Enhance the socket listener logic on unix so that it makes sure the IPV6_V6ONLY socket option is disabled, as we are told that this option is enabled by default on FreeBSD. ... (check-in: 0eeaa622 user: drh tags: trunk) | |
00:58 | Break out SMTP faults as a separate category on the Error Log. ... (check-in: 2d3ace5a user: drh tags: trunk) | |
00:48 | Automatic retry on an SMTP relay failure. ... (check-in: 2b96941c user: drh tags: trunk) | |
Changes
Changes to src/security_audit.c.
︙ | ︙ | |||
813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 | ** this page. ** ** y=0x01 Show only hack attempts ** y=0x02 Show only panics and assertion faults ** y=0x04 Show hung backoffice processes ** y=0x08 Show POST requests from a different origin ** y=0x10 Show SQLITE_AUTH and similar ** y=0x40 Show other uncategorized messages ** ** If y is omitted or is zero, a count of the various message types is ** shown. */ void errorlog_page(void){ i64 szFile; FILE *in; char *zLog; const char *zType = P("y"); | > | > | 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 | ** this page. ** ** y=0x01 Show only hack attempts ** y=0x02 Show only panics and assertion faults ** y=0x04 Show hung backoffice processes ** y=0x08 Show POST requests from a different origin ** y=0x10 Show SQLITE_AUTH and similar ** y=0x20 Show SMTP error reports ** y=0x40 Show other uncategorized messages ** ** If y is omitted or is zero, a count of the various message types is ** shown. */ void errorlog_page(void){ i64 szFile; FILE *in; char *zLog; const char *zType = P("y"); static const int eAllTypes = 0x7f; long eType = 0; int bOutput = 0; int prevWasTime = 0; int nHack = 0; int nPanic = 0; int nOther = 0; int nHang = 0; int nXPost = 0; int nAuth = 0; int nSmtp = 0; char z[10000]; char zTime[10000]; login_check_credentials(); if( !g.perm.Admin ){ login_needed(0); return; |
︙ | ︙ | |||
909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 | } if( eType & 0x08 ){ @ <li>POST requests from different origin } if( eType & 0x10 ){ @ <li>SQLITE_AUTH and similar errors } if( eType & 0x40 ){ @ <li>Other uncategorized messages } @ </ul> } @ <hr> if( eType ){ @ <pre> } while( fgets(z, sizeof(z), in) ){ if( prevWasTime ){ if( strncmp(z,"possible hack attempt - 418 ", 27)==0 ){ bOutput = (eType & 0x01)!=0; nHack++; }else if( (strncmp(z,"panic: ", 7)==0 || strstr(z," assertion fault ")!=0) ){ bOutput = (eType & 0x02)!=0; nPanic++; }else if( sqlite3_strglob("warning: backoffice process * still *",z)==0 ){ bOutput = (eType & 0x04)!=0; nHang++; }else if( sqlite3_strglob("warning: POST from different origin*",z)==0 ){ bOutput = (eType & 0x08)!=0; | > > > > > > > | 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 | } if( eType & 0x08 ){ @ <li>POST requests from different origin } if( eType & 0x10 ){ @ <li>SQLITE_AUTH and similar errors } if( eType & 0x20 ){ @ <li>SMTP malfunctions } if( eType & 0x40 ){ @ <li>Other uncategorized messages } @ </ul> } @ <hr> if( eType ){ @ <pre> } while( fgets(z, sizeof(z), in) ){ if( prevWasTime ){ if( strncmp(z,"possible hack attempt - 418 ", 27)==0 ){ bOutput = (eType & 0x01)!=0; nHack++; }else if( (strncmp(z,"panic: ", 7)==0 || strstr(z," assertion fault ")!=0) ){ bOutput = (eType & 0x02)!=0; nPanic++; }else if( strncmp(z,"SMTP:", 5)==0 ){ bOutput = (eType & 0x20)!=0; nSmtp++; }else if( sqlite3_strglob("warning: backoffice process * still *",z)==0 ){ bOutput = (eType & 0x04)!=0; nHang++; }else if( sqlite3_strglob("warning: POST from different origin*",z)==0 ){ bOutput = (eType & 0x08)!=0; |
︙ | ︙ | |||
967 968 969 970 971 972 973 | } } fclose(in); if( eType ){ @ </pre> } if( eType==0 ){ | | | 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 | } } fclose(in); if( eType ){ @ </pre> } if( eType==0 ){ int nNonHack = nPanic + nHang + nAuth + nSmtp + nOther; int nTotal = nNonHack + nHack + nXPost; @ <p><table border="a" cellspacing="0" cellpadding="5"> if( nPanic>0 ){ @ <tr><td align="right">%d(nPanic)</td> @ <td><a href="./errorlog?y=2">Panics</a></td> } if( nHack>0 ){ |
︙ | ︙ | |||
990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 | @ <tr><td align="right">%d(nXPost)</td> @ <td><a href="./errorlog?y=8">POSTs from different origin</a></td> } if( nAuth>0 ){ @ <tr><td align="right">%d(nAuth)</td> @ <td><a href="./errorlog?y=16">SQLITE_AUTH and similar</a></td> } if( nOther>0 ){ @ <tr><td align="right">%d(nOther)</td> @ <td><a href="./errorlog?y=64">Other</a></td> } @ <tr><td align="right">%d(nTotal)</td> if( nTotal>0 ){ @ <td><a href="./errorlog?y=255">All Messages</a></td> | > > > > | 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 | @ <tr><td align="right">%d(nXPost)</td> @ <td><a href="./errorlog?y=8">POSTs from different origin</a></td> } if( nAuth>0 ){ @ <tr><td align="right">%d(nAuth)</td> @ <td><a href="./errorlog?y=16">SQLITE_AUTH and similar</a></td> } if( nSmtp>0 ){ @ <tr><td align="right">%d(nSmtp)</td> @ <td><a href="./errorlog?y=32">SMTP faults</a></td> } if( nOther>0 ){ @ <tr><td align="right">%d(nOther)</td> @ <td><a href="./errorlog?y=64">Other</a></td> } @ <tr><td align="right">%d(nTotal)</td> if( nTotal>0 ){ @ <td><a href="./errorlog?y=255">All Messages</a></td> |
︙ | ︙ |