~ubuntu-branches/ubuntu/saucy/libpri/saucy

« back to all changes in this revision

Viewing changes to debian/patches/bristuff.dpatch

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2008-11-14 11:32:04 UTC
  • mfrom: (3.1.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20081114113204-zd3pf7sbpnragu2y
Tags: 1.4.3-3ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/patches/bristuff.dpatch: adjust write() calls to deal with
    errors seen with -D_FORTIFY_SOURCE=2 (debian bug 488462).

Show diffs side-by-side

added added

removed removed

Lines of Context:
3714
3714
                        return ev;
3715
3715
                case 3:
3716
3716
                        if (h->u.m2 == 3) {
3717
 
@@ -882,17 +1747,29 @@ static pri_event *__q921_receive_qualifi
 
3717
@@ -882,17 +1747,30 @@ static pri_event *__q921_receive_qualifi
3718
3718
                                        }
3719
3719
                                }
3720
3720
                                /* Send Unnumbered Acknowledgement */
3721
3721
-                               q921_send_ua(pri, h->u.p_f);
3722
3722
-                               return q921_dchannel_up(pri);
3723
3723
+                               q921_send_ua(pri, h->u.p_f, h->h.tei);
3724
 
+                               return q921_dchannel_up(pri, h->h.tei);
 
3724
+                               if (pri->q921_state[teio] == Q921_LINK_CONNECTION_RELEASED)
 
3725
+                                       return q921_dchannel_up(pri, h->h.tei);
3725
3726
                        } else if (h->u.m2 == 0) {
3726
3727
                                        /* It's a UA */
3727
3728
-                               if (pri->q921_state == Q921_AWAITING_ESTABLISH) {
3750
3751
                        } else 
3751
3752
                                pri_error(pri, "!! Weird frame received (m3=3, m2 = %d)\n", h->u.m2);
3752
3753
                        break;
3753
 
@@ -916,20 +1793,44 @@ static pri_event *__q921_receive(struct 
3754
 
        pri_event *ev;
3755
 
        /* Discard FCS */
3756
 
        len -= 2;
3757
 
-       
3758
 
-       if (!pri->master && pri->debug & (PRI_DEBUG_Q921_DUMP | PRI_DEBUG_Q921_RAW))
3759
 
-               q921_dump(pri, h, len, pri->debug & PRI_DEBUG_Q921_RAW, 0);
3760
 
 
3761
 
        /* Check some reject conditions -- Start by rejecting improper ea's */
 
3754
@@ -916,12 +1793,37 @@ static pri_event *__q921_receive(struct 
3762
3755
        if (h->h.ea1 || !(h->h.ea2))
3763
3756
                return NULL;
3764
3757
 
3787
3780
+                   // send DM
3788
3781
+                   q921_send_dm(pri, 1, h->h.tei);
3789
3782
+                   pri->q921_teis[h->h.tei - Q921_TEI_BASE] = 1;
 
3783
+                   return NULL;
3790
3784
+               }
3791
3785
+           }
3792
3786
+       }
3793
 
+
3794
 
+       if (!pri->master && pri->debug & (PRI_DEBUG_Q921_DUMP | PRI_DEBUG_Q921_RAW))
3795
 
+               q921_dump(pri, h, len, pri->debug & PRI_DEBUG_Q921_RAW, 0);
3796
3787
 
3797
3788
        /* Check for SAPIs we don't yet handle */
3798
3789
-       if ((h->h.sapi != pri->sapi) || (h->h.tei != pri->tei)) {