diff options
author | denis <> | 2006-12-08 22:37:44 +0000 |
---|---|---|
committer | denis <> | 2006-12-08 22:37:44 +0000 |
commit | dc025776dd77e2f8da1e2ee0667962115bf90bc8 (patch) | |
tree | da7d6791a24e9d3a101a5d9a59213dc3b7080df0 /opentracker.c | |
parent | 62a9b0253280d5ef9636bcee5e26c3a288d0a9ec (diff) |
Begun printf debugging
Diffstat (limited to 'opentracker.c')
-rw-r--r-- | opentracker.c | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/opentracker.c b/opentracker.c index d46858d..10b7d87 100644 --- a/opentracker.c +++ b/opentracker.c | |||
@@ -13,6 +13,8 @@ | |||
13 | #include <unistd.h> | 13 | #include <unistd.h> |
14 | #include <stdlib.h> | 14 | #include <stdlib.h> |
15 | #include <errno.h> | 15 | #include <errno.h> |
16 | #include <signal.h> | ||
17 | #include <stdio.h> | ||
16 | 18 | ||
17 | #include "trackerlogic.h" | 19 | #include "trackerlogic.h" |
18 | #include "scan_urlencoded_query.h" | 20 | #include "scan_urlencoded_query.h" |
@@ -109,7 +111,7 @@ void httpresponse(struct http_data* h,int64 s) | |||
109 | ot_torrent torrent; | 111 | ot_torrent torrent; |
110 | ot_hash *hash = NULL; | 112 | ot_hash *hash = NULL; |
111 | unsigned long numwant; | 113 | unsigned long numwant; |
112 | int compact; | 114 | int compact,x; |
113 | size_t reply_size = 0; | 115 | size_t reply_size = 0; |
114 | 116 | ||
115 | array_cat0(&h->r); | 117 | array_cat0(&h->r); |
@@ -130,40 +132,40 @@ e400: | |||
130 | if (*d!=' ') goto e400; | 132 | if (*d!=' ') goto e400; |
131 | *d=0; | 133 | *d=0; |
132 | if (c[0]!='/') goto e404; | 134 | if (c[0]!='/') goto e404; |
133 | while (c[1]=='/') ++c; | 135 | while (*c=='/') ++c; |
134 | 136 | ||
135 | switch( scan_urlencoded_query( &c, data = c, SCAN_PATH ) ) { | 137 | switch( x = scan_urlencoded_query( &c, data = c, SCAN_PATH ) ) |
138 | { | ||
136 | case 6: /* scrape ? */ | 139 | case 6: /* scrape ? */ |
137 | if (!byte_diff(c,6,"scrape")) | 140 | if (byte_diff(data,6,"scrape")) |
138 | goto e404; | 141 | goto e404; |
139 | break; | 142 | break; |
140 | case 8: | 143 | case 8: |
141 | if( !byte_diff(c,8,"announce")) | 144 | if( byte_diff(data,8,"announce")) |
142 | goto e404; | 145 | goto e404; |
143 | |||
144 | byte_copy( peer.ip, 4, h->ip ); | 146 | byte_copy( peer.ip, 4, h->ip ); |
145 | peer.port = 6881; | 147 | peer.port = 6881; |
146 | numwant = 50; | 148 | numwant = 50; |
147 | compact = 1; | 149 | compact = 1; |
148 | 150 | ||
149 | while( 1 ) { | 151 | while( 1 ) { |
150 | switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) { | 152 | switch( x=scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) { |
151 | case -1: /* error */ | 153 | case -1: /* error */ |
152 | goto e404; | 154 | goto e404; |
153 | case 4: | 155 | case 4: |
154 | if(!byte_diff(c,4,"port")) | 156 | if(!byte_diff(data,4,"port")) |
155 | /* scan int */ c; | 157 | /* scan int */ c; |
156 | else if(!byte_diff(c,4,"left")) | 158 | else if(!byte_diff(data,4,"left")) |
157 | /* scan int */ c; | 159 | /* scan int */ c; |
158 | break; | 160 | break; |
159 | case 7: | 161 | case 7: |
160 | if(!byte_diff(c,7,"numwant")) | 162 | if(!byte_diff(data,7,"numwant")) |
161 | /* scan int */ c; | 163 | /* scan int */ c; |
162 | else if(!byte_diff(c,7,"compact")) | 164 | else if(!byte_diff(data,7,"compact")) |
163 | /* scan flag */ c; | 165 | /* scan flag */ c; |
164 | break; | 166 | break; |
165 | case 9: | 167 | case 9: |
166 | if(byte_diff(c,9,"info_hash")) | 168 | if(byte_diff(data,9,"info_hash")) |
167 | continue; | 169 | continue; |
168 | /* ignore this, when we have less than 20 bytes */ | 170 | /* ignore this, when we have less than 20 bytes */ |
169 | switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) ) { | 171 | switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) ) { |
@@ -171,11 +173,13 @@ e400: | |||
171 | goto e404; | 173 | goto e404; |
172 | case 20: | 174 | case 20: |
173 | hash = (ot_hash*)data; /* Fall through intended */ | 175 | hash = (ot_hash*)data; /* Fall through intended */ |
176 | printf("hash: %s\n",*hash); | ||
174 | default: | 177 | default: |
175 | continue; | 178 | continue; |
176 | } | 179 | } |
177 | default: | 180 | default: |
178 | continue; | 181 | printf("blub %i\n",x); |
182 | break; | ||
179 | } | 183 | } |
180 | } | 184 | } |
181 | 185 | ||
@@ -196,6 +200,7 @@ e500: | |||
196 | } | 200 | } |
197 | break; | 201 | break; |
198 | default: /* neither scrape nor announce */ | 202 | default: /* neither scrape nor announce */ |
203 | printf("blub %i\n",x); | ||
199 | e404: | 204 | e404: |
200 | httperror(h,"404 Not Found","No such file or directory."); | 205 | httperror(h,"404 Not Found","No such file or directory."); |
201 | goto bailout; | 206 | goto bailout; |
@@ -218,6 +223,11 @@ bailout: | |||
218 | io_wantwrite(s); | 223 | io_wantwrite(s); |
219 | } | 224 | } |
220 | 225 | ||
226 | void graceful( int s ) { | ||
227 | signal( SIGINT, SIG_IGN ); | ||
228 | deinit_logic(); | ||
229 | } | ||
230 | |||
221 | int main() | 231 | int main() |
222 | { | 232 | { |
223 | int s=socket_tcp6(); | 233 | int s=socket_tcp6(); |
@@ -225,7 +235,7 @@ int main() | |||
225 | char ip[16]; | 235 | char ip[16]; |
226 | uint16 port; | 236 | uint16 port; |
227 | 237 | ||
228 | if (socket_bind6_reuse(s,V6any,8000,0)==-1) | 238 | if (socket_bind6_reuse(s,V6any,6969,0)==-1) |
229 | panic("socket_bind6_reuse"); | 239 | panic("socket_bind6_reuse"); |
230 | 240 | ||
231 | if (socket_listen(s,16)==-1) | 241 | if (socket_listen(s,16)==-1) |
@@ -234,6 +244,9 @@ int main() | |||
234 | if (!io_fd(s)) | 244 | if (!io_fd(s)) |
235 | panic("io_fd"); | 245 | panic("io_fd"); |
236 | 246 | ||
247 | signal( SIGINT, graceful ); | ||
248 | init_logic( "." ); | ||
249 | |||
237 | io_wantread(s); | 250 | io_wantread(s); |
238 | 251 | ||
239 | for (;;) | 252 | for (;;) |