mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

717 lines
14 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/base/wu-ftpd/ftpcmd_y_fix.patch
  9. # ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
  10. #
  11. # This patch file is dual-licensed. It is available under the license the
  12. # patched project is licensed under, as long as it is an OpenSource license
  13. # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
  14. # of the GNU General Public License as published by the Free Software
  15. # Foundation; either version 2 of the License, or (at your option) any later
  16. # version.
  17. #
  18. # --- ROCK-COPYRIGHT-NOTE-END ---
  19. --- ./src/ftpcmd.y.orig 2003-01-26 17:59:52.000000000 +0100
  20. +++ ./src/ftpcmd.y 2003-01-26 18:03:50.000000000 +0100
  21. @@ -194,7 +194,7 @@
  22. cmd_list: /* empty */
  23. | cmd_list cmd
  24. - = {
  25. + {
  26. fromname = (char *) NULL;
  27. restart_point = 0;
  28. }
  29. @@ -202,14 +202,14 @@
  30. ;
  31. cmd: USER SP username CRLF
  32. - = {
  33. + {
  34. user($3);
  35. if (log_commands)
  36. syslog(LOG_INFO, "USER %s", $3);
  37. free($3);
  38. }
  39. | PASS SP password CRLF
  40. - = {
  41. + {
  42. if (log_commands)
  43. if (anonymous)
  44. syslog(LOG_INFO, "PASS %s", $3);
  45. @@ -220,7 +220,7 @@
  46. free($3);
  47. }
  48. | PORT check_login SP host_port CRLF
  49. - = {
  50. + {
  51. if (log_commands)
  52. syslog(LOG_INFO, "PORT");
  53. /* H* port fix, part B: admonish the twit.
  54. @@ -252,7 +252,7 @@
  55. }
  56. }
  57. | PASV check_login CRLF
  58. - = {
  59. + {
  60. /* Require login for PASV, too. This actually fixes a bug -- telnet to an
  61. unfixed wu-ftpd and type PASV first off, and it crashes! */
  62. if (log_commands)
  63. @@ -265,7 +265,7 @@
  64. #endif
  65. }
  66. | TYPE check_login SP type_code CRLF
  67. - = {
  68. + {
  69. if (log_commands)
  70. syslog(LOG_INFO, "TYPE %s", typenames[cmd_type]);
  71. if ($2)
  72. @@ -305,7 +305,7 @@
  73. }
  74. }
  75. | STRU check_login SP struct_code CRLF
  76. - = {
  77. + {
  78. if (log_commands)
  79. syslog(LOG_INFO, "STRU %s", strunames[$4]);
  80. if ($2)
  81. @@ -320,7 +320,7 @@
  82. }
  83. }
  84. | MODE check_login SP mode_code CRLF
  85. - = {
  86. + {
  87. if (log_commands)
  88. syslog(LOG_INFO, "MODE %s", modenames[$4]);
  89. if ($2)
  90. @@ -335,21 +335,21 @@
  91. }
  92. }
  93. | ALLO check_login SP NUMBER CRLF
  94. - = {
  95. + {
  96. if (log_commands)
  97. syslog(LOG_INFO, "ALLO %d", $4);
  98. if ($2)
  99. reply(202, "ALLO command ignored.");
  100. }
  101. | ALLO check_login SP NUMBER SP R SP NUMBER CRLF
  102. - = {
  103. + {
  104. if (log_commands)
  105. syslog(LOG_INFO, "ALLO %d R %d", $4, $8);
  106. if ($2)
  107. reply(202, "ALLO command ignored.");
  108. }
  109. | RETR check_login SP pathname CRLF
  110. - = {
  111. + {
  112. if (log_commands)
  113. syslog(LOG_INFO, "RETR %s", CHECKNULL($4));
  114. if ($2 && $4 != NULL && !restrict_check($4)) {
  115. @@ -360,7 +360,7 @@
  116. free($4);
  117. }
  118. | STOR check_login SP pathname CRLF
  119. - = {
  120. + {
  121. if (log_commands)
  122. syslog(LOG_INFO, "STOR %s", CHECKNULL($4));
  123. if ($2 && $4 != NULL && !restrict_check($4))
  124. @@ -369,7 +369,7 @@
  125. free($4);
  126. }
  127. | APPE check_login SP pathname CRLF
  128. - = {
  129. + {
  130. if (log_commands)
  131. syslog(LOG_INFO, "APPE %s", CHECKNULL($4));
  132. if ($2 && $4 != NULL && !restrict_check($4))
  133. @@ -378,14 +378,14 @@
  134. free($4);
  135. }
  136. | NLST check_login CRLF
  137. - = {
  138. + {
  139. if (log_commands)
  140. syslog(LOG_INFO, "NLST");
  141. if ($2 && !restrict_check("."))
  142. send_file_list("");
  143. }
  144. | NLST check_login SP STRING CRLF
  145. - = {
  146. + {
  147. if (log_commands)
  148. syslog(LOG_INFO, "NLST %s", $4);
  149. if ($2 && $4 && !restrict_check($4))
  150. @@ -394,7 +394,7 @@
  151. free($4);
  152. }
  153. | LIST check_login CRLF
  154. - = {
  155. + {
  156. if (log_commands)
  157. syslog(LOG_INFO, "LIST");
  158. if ($2 && !restrict_check(".")) {
  159. @@ -410,7 +410,7 @@
  160. }
  161. }
  162. | LIST check_login SP pathname CRLF
  163. - = {
  164. + {
  165. if (log_commands)
  166. syslog(LOG_INFO, "LIST %s", CHECKNULL($4));
  167. if ($2 && $4 != NULL && !restrict_list_check($4)) {
  168. @@ -428,7 +428,7 @@
  169. free($4);
  170. }
  171. | STAT check_login SP pathname CRLF
  172. - = {
  173. + {
  174. if (log_commands)
  175. syslog(LOG_INFO, "STAT %s", CHECKNULL($4));
  176. if ($2 && $4 != NULL && !restrict_check($4))
  177. @@ -437,14 +437,14 @@
  178. free($4);
  179. }
  180. | STAT check_login CRLF
  181. - = {
  182. + {
  183. if (log_commands)
  184. syslog(LOG_INFO, "STAT");
  185. if ($2)
  186. statcmd();
  187. }
  188. | DELE check_login SP pathname CRLF
  189. - = {
  190. + {
  191. if (log_commands)
  192. syslog(LOG_INFO, "DELE %s", CHECKNULL($4));
  193. if ($2 && $4 != NULL && !restrict_check($4))
  194. @@ -453,7 +453,7 @@
  195. free($4);
  196. }
  197. | RNTO check_login SP pathname CRLF
  198. - = {
  199. + {
  200. if (log_commands)
  201. syslog(LOG_INFO, "RNTO %s", CHECKNULL($4));
  202. if ($2 && $4 && !restrict_check($4)) {
  203. @@ -470,21 +470,21 @@
  204. free($4);
  205. }
  206. | ABOR check_login CRLF
  207. - = {
  208. + {
  209. if (log_commands)
  210. syslog(LOG_INFO, "ABOR");
  211. if ($2)
  212. reply(225, "ABOR command successful.");
  213. }
  214. | CWD check_login CRLF
  215. - = {
  216. + {
  217. if (log_commands)
  218. syslog(LOG_INFO, "CWD");
  219. if ($2 && !restrict_check(home))
  220. cwd(home);
  221. }
  222. | CWD check_login SP pathname CRLF
  223. - = {
  224. + {
  225. if (log_commands)
  226. syslog(LOG_INFO, "CWD %s", CHECKNULL($4));
  227. if ($2 && $4 != NULL && !restrict_check($4))
  228. @@ -493,14 +493,14 @@
  229. free($4);
  230. }
  231. | HELP check_login CRLF
  232. - = {
  233. + {
  234. if (log_commands)
  235. syslog(LOG_INFO, "HELP");
  236. if ($2)
  237. help(cmdtab, (char *) NULL);
  238. }
  239. | HELP check_login SP STRING CRLF
  240. - = {
  241. + {
  242. register char *cp = (char *) $4;
  243. if (log_commands)
  244. @@ -521,14 +521,14 @@
  245. free($4);
  246. }
  247. | NOOP check_login CRLF
  248. - = {
  249. + {
  250. if (log_commands)
  251. syslog(LOG_INFO, "NOOP");
  252. if ($2)
  253. reply(200, "NOOP command successful.");
  254. }
  255. | MKD check_login SP pathname CRLF
  256. - = {
  257. + {
  258. if (log_commands)
  259. syslog(LOG_INFO, "MKD %s", CHECKNULL($4));
  260. if ($2 && $4 != NULL && !restrict_check($4))
  261. @@ -537,7 +537,7 @@
  262. free($4);
  263. }
  264. | RMD check_login SP pathname CRLF
  265. - = {
  266. + {
  267. if (log_commands)
  268. syslog(LOG_INFO, "RMD %s", CHECKNULL($4));
  269. if ($2 && $4 != NULL && !restrict_check($4))
  270. @@ -546,14 +546,14 @@
  271. free($4);
  272. }
  273. | PWD check_login CRLF
  274. - = {
  275. + {
  276. if (log_commands)
  277. syslog(LOG_INFO, "PWD");
  278. if ($2)
  279. pwd();
  280. }
  281. | CDUP check_login CRLF
  282. - = {
  283. + {
  284. if (log_commands)
  285. syslog(LOG_INFO, "CDUP");
  286. if ($2)
  287. @@ -564,14 +564,14 @@
  288. }
  289. | SITE check_login SP HELP CRLF
  290. - = {
  291. + {
  292. if (log_commands)
  293. syslog(LOG_INFO, "SITE HELP");
  294. if ($2)
  295. help(sitetab, (char *) NULL);
  296. }
  297. | SITE check_login SP HELP SP STRING CRLF
  298. - = {
  299. + {
  300. if (log_commands)
  301. syslog(LOG_INFO, "SITE HELP %s", $6);
  302. if ($2)
  303. @@ -580,7 +580,7 @@
  304. free($6);
  305. }
  306. | SITE check_login SP UMASK CRLF
  307. - = {
  308. + {
  309. mode_t oldmask;
  310. if (log_commands)
  311. @@ -592,7 +592,7 @@
  312. }
  313. }
  314. | SITE check_login SP UMASK SP octal_number CRLF
  315. - = {
  316. + {
  317. mode_t oldmask;
  318. struct aclmember *entry = NULL;
  319. int ok = 1;
  320. @@ -620,7 +620,7 @@
  321. }
  322. }
  323. | SITE check_login SP CHMOD SP octal_number SP pathname CRLF
  324. - = {
  325. + {
  326. struct aclmember *entry = NULL;
  327. int ok = (anonymous ? 0 : 1);
  328. @@ -670,7 +670,7 @@
  329. free($8);
  330. }
  331. | SITE check_login SP IDLE CRLF
  332. - = {
  333. + {
  334. if (log_commands)
  335. syslog(LOG_INFO, "SITE IDLE");
  336. if ($2)
  337. @@ -679,7 +679,7 @@
  338. timeout_idle, timeout_maxidle);
  339. }
  340. | SITE check_login SP IDLE SP NUMBER CRLF
  341. - = {
  342. + {
  343. if (log_commands)
  344. syslog(LOG_INFO, "SITE IDLE %d", $6);
  345. if ($2)
  346. @@ -694,7 +694,7 @@
  347. }
  348. }
  349. | SITE check_login SP GROUP SP username CRLF
  350. - = {
  351. + {
  352. #ifndef NO_PRIVATE
  353. if (log_commands)
  354. syslog(LOG_INFO, "SITE GROUP %s", $6);
  355. @@ -704,7 +704,7 @@
  356. #endif /* !NO_PRIVATE */
  357. }
  358. | SITE check_login SP GPASS SP password CRLF
  359. - = {
  360. + {
  361. #ifndef NO_PRIVATE
  362. if (log_commands)
  363. syslog(LOG_INFO, "SITE GPASS password");
  364. @@ -714,7 +714,7 @@
  365. #endif /* !NO_PRIVATE */
  366. }
  367. | SITE check_login SP GPASS CRLF
  368. - = {
  369. + {
  370. #ifndef NO_PRIVATE
  371. if (log_commands)
  372. syslog(LOG_INFO, "SITE GPASS");
  373. @@ -723,7 +723,7 @@
  374. #endif /* !NO_PRIVATE */
  375. }
  376. | SITE check_login SP NEWER SP STRING CRLF
  377. - = {
  378. + {
  379. if (log_commands)
  380. syslog(LOG_INFO, "SITE NEWER %s", $6);
  381. #ifdef SITE_NEWER
  382. @@ -735,7 +735,7 @@
  383. free($6);
  384. }
  385. | SITE check_login SP NEWER SP STRING SP pathname CRLF
  386. - = {
  387. + {
  388. if (log_commands)
  389. syslog(LOG_INFO, "SITE NEWER %s %s", $6,
  390. CHECKNULL($8));
  391. @@ -750,7 +750,7 @@
  392. free($8);
  393. }
  394. | SITE check_login SP MINFO SP STRING CRLF
  395. - = {
  396. + {
  397. if (log_commands)
  398. syslog(LOG_INFO, "SITE MINFO %s", $6);
  399. #ifdef SITE_NEWER
  400. @@ -762,7 +762,7 @@
  401. free($6);
  402. }
  403. | SITE check_login SP MINFO SP STRING SP pathname CRLF
  404. - = {
  405. + {
  406. if (log_commands)
  407. syslog(LOG_INFO, "SITE MINFO %s %s", $6,
  408. CHECKNULL($8));
  409. @@ -777,7 +777,7 @@
  410. free($8);
  411. }
  412. | SITE check_login SP INDEX SP STRING CRLF
  413. - = {
  414. + {
  415. /* this is just for backward compatibility since we
  416. * thought of INDEX before we thought of EXEC
  417. */
  418. @@ -792,7 +792,7 @@
  419. free($6);
  420. }
  421. | SITE check_login SP EXEC SP STRING CRLF
  422. - = {
  423. + {
  424. if (!restricted_user && $2 != 0 && $6 != NULL) {
  425. (void) site_exec((char *) $6);
  426. }
  427. @@ -801,7 +801,7 @@
  428. }
  429. | STOU check_login SP pathname CRLF
  430. - = {
  431. + {
  432. if (log_commands)
  433. syslog(LOG_INFO, "STOU %s", CHECKNULL($4));
  434. if ($2 && $4 && !restrict_check($4))
  435. @@ -810,7 +810,7 @@
  436. free($4);
  437. }
  438. | SYST check_login CRLF
  439. - = {
  440. + {
  441. if (log_commands)
  442. syslog(LOG_INFO, "SYST");
  443. if ($2)
  444. @@ -834,7 +834,7 @@
  445. * using with RESTART (we just count bytes).
  446. */
  447. | SIZE check_login SP pathname CRLF
  448. - = {
  449. + {
  450. if (log_commands)
  451. syslog(LOG_INFO, "SIZE %s", CHECKNULL($4));
  452. if ($2 && $4 && !restrict_check($4)) {
  453. @@ -854,7 +854,7 @@
  454. * not necessarily 3 digits)
  455. */
  456. | MDTM check_login SP pathname CRLF
  457. - = {
  458. + {
  459. if (log_commands)
  460. syslog(LOG_INFO, "MDTM %s", CHECKNULL($4));
  461. if ($2 && $4 && !restrict_check($4)) {
  462. @@ -879,7 +879,7 @@
  463. free($4);
  464. }
  465. | QUIT CRLF
  466. - = {
  467. + {
  468. if (log_commands)
  469. syslog(LOG_INFO, "QUIT");
  470. #ifdef TRANSFER_COUNT
  471. @@ -893,13 +893,13 @@
  472. dologout(0);
  473. }
  474. | error CRLF
  475. - = {
  476. + {
  477. yyerrok;
  478. }
  479. ;
  480. rcmd: RNFR check_login SP pathname CRLF
  481. - = {
  482. + {
  483. if (log_commands)
  484. syslog(LOG_INFO, "RNFR %s", CHECKNULL($4));
  485. @@ -912,7 +912,7 @@
  486. free($4);
  487. }
  488. | REST check_login SP byte_size CRLF
  489. - = {
  490. + {
  491. if (log_commands)
  492. syslog(LOG_INFO, "REST %d", (int) restart_point);
  493. if ($2) {
  494. @@ -924,14 +924,14 @@
  495. }
  496. | SITE check_login SP ALIAS CRLF
  497. - = {
  498. + {
  499. if (log_commands)
  500. syslog(LOG_INFO, "SITE ALIAS");
  501. if ($2)
  502. alias((char *) NULL);
  503. }
  504. | SITE check_login SP ALIAS SP STRING CRLF
  505. - = {
  506. + {
  507. if (log_commands)
  508. syslog(LOG_INFO, "SITE ALIAS %s", $6);
  509. if ($2)
  510. @@ -940,21 +940,21 @@
  511. free($6);
  512. }
  513. | SITE check_login SP GROUPS CRLF
  514. - = {
  515. + {
  516. if (log_commands)
  517. syslog(LOG_INFO, "SITE GROUPS");
  518. if ($2)
  519. print_groups();
  520. }
  521. | SITE check_login SP CDPATH CRLF
  522. - = {
  523. + {
  524. if (log_commands)
  525. syslog(LOG_INFO, "SITE CDPATH");
  526. if ($2)
  527. cdpath();
  528. }
  529. | SITE check_login SP CHECKMETHOD SP method CRLF
  530. - = {
  531. + {
  532. if (log_commands)
  533. syslog(LOG_INFO, "SITE CHECKMETHOD %s", CHECKNULL($6));
  534. if (($2) && ($6 != NULL))
  535. @@ -963,14 +963,14 @@
  536. free($6);
  537. }
  538. | SITE check_login SP CHECKMETHOD CRLF
  539. - = {
  540. + {
  541. if (log_commands)
  542. syslog(LOG_INFO, "SITE CHECKMETHOD");
  543. if ($2)
  544. ShowCheckMethod();
  545. }
  546. | SITE check_login SP CHECKSUM SP pathname CRLF
  547. - = {
  548. + {
  549. if (log_commands)
  550. syslog(LOG_INFO, "SITE CHECKSUM %s", CHECKNULL($6));
  551. if (($2) && ($6 != NULL) && (!restrict_check($6)))
  552. @@ -979,7 +979,7 @@
  553. free($6);
  554. }
  555. | SITE check_login SP CHECKSUM CRLF
  556. - = {
  557. + {
  558. if (log_commands)
  559. syslog(LOG_INFO, "SITE CHECKSUM");
  560. if ($2)
  561. @@ -991,7 +991,7 @@
  562. ;
  563. password: /* empty */
  564. - = {
  565. + {
  566. $$ = (char *) malloc(1);
  567. $$[0] = '\0';
  568. }
  569. @@ -1002,7 +1002,7 @@
  570. ;
  571. host_port: NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER
  572. - = {
  573. + {
  574. register char *a, *p;
  575. a = (char *) &cliaddr;
  576. @@ -1017,91 +1017,91 @@
  577. ;
  578. form_code: N
  579. - = {
  580. + {
  581. $$ = FORM_N;
  582. }
  583. | T
  584. - = {
  585. + {
  586. $$ = FORM_T;
  587. }
  588. | C
  589. - = {
  590. + {
  591. $$ = FORM_C;
  592. }
  593. ;
  594. type_code: A
  595. - = {
  596. + {
  597. cmd_type = TYPE_A;
  598. cmd_form = FORM_N;
  599. }
  600. | A SP form_code
  601. - = {
  602. + {
  603. cmd_type = TYPE_A;
  604. cmd_form = $3;
  605. }
  606. | E
  607. - = {
  608. + {
  609. cmd_type = TYPE_E;
  610. cmd_form = FORM_N;
  611. }
  612. | E SP form_code
  613. - = {
  614. + {
  615. cmd_type = TYPE_E;
  616. cmd_form = $3;
  617. }
  618. | I
  619. - = {
  620. + {
  621. cmd_type = TYPE_I;
  622. }
  623. | L
  624. - = {
  625. + {
  626. cmd_type = TYPE_L;
  627. cmd_bytesz = NBBY;
  628. }
  629. | L SP byte_size
  630. - = {
  631. + {
  632. cmd_type = TYPE_L;
  633. cmd_bytesz = $3;
  634. }
  635. /* this is for a bug in the BBN ftp */
  636. | L byte_size
  637. - = {
  638. + {
  639. cmd_type = TYPE_L;
  640. cmd_bytesz = $2;
  641. }
  642. ;
  643. struct_code: F
  644. - = {
  645. + {
  646. $$ = STRU_F;
  647. }
  648. | R
  649. - = {
  650. + {
  651. $$ = STRU_R;
  652. }
  653. | P
  654. - = {
  655. + {
  656. $$ = STRU_P;
  657. }
  658. ;
  659. mode_code: S
  660. - = {
  661. + {
  662. $$ = MODE_S;
  663. }
  664. | B
  665. - = {
  666. + {
  667. $$ = MODE_B;
  668. }
  669. | C
  670. - = {
  671. + {
  672. $$ = MODE_C;
  673. }
  674. ;
  675. pathname: pathstring
  676. - = {
  677. + {
  678. /*
  679. * Problem: this production is used for all pathname
  680. * processing, but only gives a 550 error reply.
  681. @@ -1193,7 +1193,7 @@
  682. ;
  683. octal_number: NUMBER
  684. - = {
  685. + {
  686. register int ret, dec, multby, digit;
  687. /*
  688. @@ -1218,7 +1218,7 @@
  689. ;
  690. check_login: /* empty */
  691. - = {
  692. + {
  693. if (logged_in)
  694. $$ = 1;
  695. else {