Subversion Repositories wimsdev

Rev

Rev 10 | Rev 7676 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 10 Rev 3840
Line 110... Line 110...
110
    snprintf(buf,sizeof(buf),"\
110
    snprintf(buf,sizeof(buf),"\
111
mkdir -p %s\n\
111
mkdir -p %s\n\
112
openssl s_client -connect %s:%d -quiet 2>/dev/null >%s <<@\n\
112
openssl s_client -connect %s:%d -quiet 2>/dev/null >%s <<@\n\
113
%s\n\
113
%s\n\
114
@\n", tmpdir,host,port,tfname,tbuf);
114
@\n", tmpdir,host,port,tfname,tbuf);
115
    system(buf);
115
    if (system(buf))
-
 
116
      errorquit("system() error");
116
    return open(tfname,O_RDONLY);
117
    return open(tfname,O_RDONLY);
117
}
118
}
118
 
119
 
119
int main(int argc, char *argv[])
120
int main(int argc, char *argv[])
120
{
121
{
Line 139... Line 140...
139
        p2=getenv("w_webget_port");
140
        p2=getenv("w_webget_port");
140
        if(p1==NULL || p2==NULL) errorquit("incomplete_request");
141
        if(p1==NULL || p2==NULL) errorquit("incomplete_request");
141
        port=atoi(p2);
142
        port=atoi(p2);
142
        soc=net_connect(p1); if(soc==-1) return 1;
143
        soc=net_connect(p1); if(soc==-1) return 1;
143
        c=' '; for(p3=parm; *p3; p3++) {
144
        c=' '; for(p3=parm; *p3; p3++) {
144
            if(*p3=='\n' && c!='\r') write(soc,"\r",1);
145
            if(*p3=='\n' && c!='\r') (void)write(soc,"\r",1);
145
            write(soc,p3,1); c=*p3;
146
            (void)write(soc,p3,1); c=*p3;
146
        }
147
        }
147
        write(soc,"\r\n\r\n",4);
148
        (void)write(soc,"\r\n\r\n",4);
148
        pt=getenv("w_module");
149
        pt=getenv("w_module");
149
        if(pt==NULL || *pt==0 || strncmp(pt,"adm/",4)==0 ) {  /* File to post? */
150
        if(pt==NULL || *pt==0 || strncmp(pt,"adm/",4)==0 ) {  /* File to post? */
150
            pt=getenv("w_webget_post"); if(pt!=NULL && *pt!=0) {
151
            pt=getenv("w_webget_post"); if(pt!=NULL && *pt!=0) {
151
                FILE *f;
152
                FILE *f;
152
                char buf[4096];
153
                char buf[4096];
153
                size_t l;
154
                size_t l;
154
                f=fopen(pt,"r"); if(f!=NULL) {
155
                f=fopen(pt,"r"); if(f!=NULL) {
155
                    do {
156
                    do {
156
                        l=fread(buf,1,sizeof(buf),f);
157
                        l=fread(buf,1,sizeof(buf),f);
157
                        if(l>0 && l<=sizeof(buf)) write(soc,buf,l);
158
                        if(l>0 && l<=sizeof(buf)) (void)write(soc,buf,l);
158
                    } while(l==sizeof(buf));
159
                    } while(l==sizeof(buf));
159
                    fclose(f);
160
                    fclose(f);
160
                }
161
                }
161
            }
162
            }
162
        }
163
        }
Line 187... Line 188...
187
    else {*p4++=0; port=atoi(p4);}
188
    else {*p4++=0; port=atoi(p4);}
188
    if(https) {
189
    if(https) {
189
        soc=gethttps(p1); goto read;
190
        soc=gethttps(p1); goto read;
190
    }
191
    }
191
    soc=net_connect(p1);
192
    soc=net_connect(p1);
192
    write(soc,tbuf,strlen(tbuf));
193
    (void)write(soc,tbuf,strlen(tbuf));
193
        /* header */
194
        /* header */
194
    read: if(soc==-1) return 1;
195
    read: if(soc==-1) return 1;
195
    c=-1;
196
    c=-1;
196
    while(read(soc,pbuf,1)>0) {
197
    while(read(soc,pbuf,1)>0) {
197
        if(pbuf[0]=='\r') continue;
198
        if(pbuf[0]=='\r') continue;