# ${readsocket (Unix domain and IPv4) need_ipv4 # exim -be connfail cases (no server) 1 >>${readsocket{DIR/test-socket}{QUERY-1\n}}<< 2 ${if exists{DIR/test-socket}\ {>>${readsocket{DIR/test-socket}{QUERY-1\n}}<<}\ {++ no socket ++}} **** # # Note the difference between: # >*eof => close the connection # *eof => expect to read EOF from client # server DIR/test-socket 9 QUERY-1 >LF>ANSWER-1 >*eof QUERY-2 >>ANSWER-2 >*eof QUERY-3 >LF>ANSWER-3 >*eof QUERY-4 >LF>ANSWER-4 >*eof >>ANSWER-5 >*eof *sleep 1 >*eof >*eof QUERY-8 *sleep 2 *eof QUERY-9 *sleep 2 **** millisleep 500 exim -be unix-socket cases 1 >>${readsocket{DIR/test-socket}{QUERY-1\n}}<< 2 >>${readsocket{DIR/test-socket}{QUERY-2\n}}<< 3 >>${readsocket{DIR/test-socket}{QUERY-3\n}{2s}{*EOL*}}<< 4 >>${readsocket{DIR/test-socket}{QUERY-4\n}{2s}{*EOL*}{sock error}}<< 5 >>${readsocket{DIR/test-socket}{}}<< 6 >>${readsocket{DIR/test-socket}{QUERY-6\n}}<< 7 >>${readsocket{DIR/test-socket}{QUERY-7\n}{1s}{}{sock error}}<< 8 >>${readsocket{DIR/test-socket}{QUERY-8\n}{1s}}<< 9 >>${readsocket{DIR/test-socket}{QUERY-9\n}{1s}{}{sock error}}<< **** server DIR/test-socket QUERY-ACL *sleep 3 **** exim -odq -bs -oMa V4NET.0.0.0 quit **** # # Tests of IPv4 sockets # server PORT_S 11 QUERY-1 >LF>ANSWER-1 >*eof QUERY-2 >>ANSWER-2 >*eof QUERY-3 >LF>ANSWER-3 >*eof QUERY-4 >LF>ANSWER-4 >*eof >>ANSWER-5 >*eof *sleep 1 >*eof >*eof QUERY-8 *sleep 2 *eof QUERY-9 *sleep 2 *eof QUERY-10 >LF>ANSWER-10 >*eof >LF>ANSWER-11 >*eof **** millisleep 500 exim -be ipv4 cases 1 ANSWER-1 >>${readsocket{inet:thisloop:PORT_S}{QUERY-1\n}}<< 2 ANSWER-2 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-2\n}}<< 3 ANSWER-3*EOL* >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-3\n}{2s}{*EOL*}}<< 4 ANSWER-4*EOL* >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-4\n}{2s}{*EOL*}{sock error}}<< 5 ANSWER-5 >>${readsocket{inet:127.0.0.1:PORT_S}{}}<< 6 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-6\n}}<< 7 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-7\n}{1s}{}{sock error}}<< 8 read timed out >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-8\n}{1s}}<< 9 sock error >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-9\n}{1s}{}{sock error}}<< 10 ANSWER-10\\n >>${readsocket{inet:badloop:PORT_S}{QUERY-10\n}}<< 11 ANSWER-11 >>${readsocket{inet:thisloop:PORT_S}{QUERY-11\n}{2s:shutdown=no}}<< **** # exim -be crash-regression-check >>${readsocket{inet:127.0.0.1:PORT_N}{}{}}<< **** # # Caching of response value server DIR/test-socket 3 QUERY-1 >LF>ANSWER-1 >*eof QUERY-2 >LF>ANSWER-2 >*eof QUERY-1 >LF>ANSWER-1 >*eof **** millisleep 500 exim -be caching of response value 1 >>${readsocket{DIR/test-socket}{QUERY-1\n}{5s:cache=yes}}<< 1+ >>${readsocket{DIR/test-socket}{QUERY-1\n}{5s:cache=yes}}<< 2 >>${readsocket{DIR/test-socket}{QUERY-2\n}{5s:cache=yes}}<< 2- >>${readsocket{DIR/test-socket2}{QUERY-2\n}{5s:cache=yes}{}{expected failure}}<< 1- >>${readsocket{DIR/test-socket2}{QUERY-1\n}{5s:cache=yes}{}{expected failure}}<< 1+ >>${readsocket{DIR/test-socket}{QUERY-1\n}{5s:cache=yes}}<< 1- >>${readsocket{DIR/test-socket}{QUERY-1\n}{5s}}<< ****